Zum Inhalt springen

Zugreifen per Index auf ein Bild in einer CImageList


peicher

Empfohlene Beiträge

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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>?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...