000
25.01.2005, 11:45 Uhr
~Toni22
Gast
|
Hallo zusammen, Mir stell sich fogendes Problem:
Ich möchte ein vordefiniertes Bitmap in meinem Programm laden, beim öffnen eines Dialoges z.B. eine Linie darauf zeichnen, und anschliessend in einer ListCtrl anzeigen (also als Bitmap weiterverwenden).
Ich hoffe ihr versteht dies soweit. Hier mein bisheriger Code:
Das ganze wird bei OnInitDialog() aufgerufen.
C++: |
CDC DC; CDC* pDC = GetDC(); CBitmap Bitmap; // Originales Bitmap CBitmap bitmap; // Bitmap nach der Veränderung Bitmap.LoadBitmap(IDB_GRUNDGRAFIK); // Laden des Vordefinierten Bitmaps
DC.CreateCompatibleDC(pDC); DC.SelectObject(&Bitmap); DC.MoveTo(20,20); // Linie zeichnen DC.LineTo(40,40); // pDC->BitBlt( 0, 0, 270, 50, &DC, 0, 0 , SRCCOPY); bitmap.CreateCompatibleBitmap(pDC, 270, 50); // Neues Bitmap mit den geänderten Daten generieren
mp_ImageList.Create(270,50,ILC_COLOR32|ILC_MASK,4,4); // mp_ImageList ist eine protected deklarierte Variable vom Typ CImageList
mp_ImageList.Add(&bitmap,RGB(255,0,0));
m_Liste2.SetImageList(&mp_ImageList,LVSIL_NORMAL); // m_Liste2 ist die Member-Variable der ListCtrl
m_Liste2.InsertItem(1, "TEST", 0);
UpdateData(false);
|
Bei öffnen des Dialogs bekomme ich allerdings nur ein schwarzes Bild Ich hoffe ihr versteht mein Problem. Bin um jede Hilfe sehr froh.
Besten Dank |