Veröffentlicht 16. Januar 200322 j Hallo! Ich möchte ein Bitmap mit SetBitmap ausgeben weiss aber nicht, wie ich auf mein CImageList-Objekt per index zugreiffen kann. Aufruf: m_Ausgabe.SetBitmap(m_Liste); Fehlermeldung: 'SetBitmap' : Konvertierung des Parameters 1 von 'struct _IMAGELIST' in 'struct HBITMAP__ *' nicht moeglich! Es ist mir klar, dass ein HBITMAP - Objekt erwartet wird, jedoch kommt IMAGELIST (struct) zurück. Wie soll ich ich das anstellen, damit der Aufruf hinhaut?
16. Januar 200322 j Kann es sein, dass dir nicht ganz klar ist, wozu CImageList gut ist? So wie ich das aus deinen heutigen Beiträgen erkennen kann, brauchst du nur ein Array zur Aufbewahrung deiner Bitmaps. Diesen Zweck kann und soll CImageList nicht erfüllen. CImageList wird zum Speichern von Bitmaps gleicher Größe für die Verwendung z.B. in ListControls und TreeControls verwendet. Es ist kein einfacher Container für Bitmaps. Wie wär's denn mit einem CArray<CBitmap>?
16. Januar 200322 j Das weis ich auch, dass nur gleich grosse bilder rein dürfen, ist vielleicht falsch rüber gekommen. Stimmt, wäre besser mit nem Array, da es sich aber um eine Projektarbeit über die Klasse CImageList handelt muss ich die Klasse auch ein bisschen vorfüren (Bilder rein / raus + anzeigen, löschen, erstellen, ...). Ich weis jetzt, dass ich zur Ausgabe die Methode Draw() hernehmen muss. In den Parametern kann ich dann festlegen, welchen index ich via DC ausgeben möchte... Nochmal zu CBitmap: Wenn ich ein Bild aus einer Datei laden möchte (Pfad kommt aus CFileDialog-Objekt), muss ich doch erst ein HBITMAP - objekt erstellen, welches ich dann später in ein CBitmap-Objekt initialisiere, oder? Wie heisst gleich nocheinmal diese Methode?
16. Januar 200322 j Originally posted by peicher Wenn ich ein Bild aus einer Datei laden möchte (Pfad kommt aus CFileDialog-Objekt), muss ich doch erst ein HBITMAP - objekt erstellen, welches ich dann später in ein CBitmap-Objekt initialisiere, oder? Wie heisst gleich nocheinmal diese Methode? Das hatte ich doch hier schon gesagt: Zuerst ::LoadImage, dann CBitmap::CreateBitmapIndirect.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.