Byte-Array in picture control anzeigen
-
Hallo Zusammen,
ich habe das gleich Problem wie SierraFoxtrot, nur dass ich es mittels der Picture-Klasse aus den FAQ lösen möchte. Im ersten Schritt versuche ich ein BMP-File mittels
Picture.Load(cstrFileImage)
zu laden und dann darzustellen. Laden scheint zu klappen.
Nur dass ich nicht weiß, wie ich die Funktion show bedienen soll. Da wird ein Bereich erwartet (z.B. ein Rechteck) in dem gezeichnet werden soll, aber ich kenne die Koordinaten nicht. Es soll einfach in dem picture control dargestellt (u. ggf. die Größe entsprechend anpassen) werden. Wie geht das? Gibt's dazu ein Beispiel?
Wenn ich etwas wie:RECT myRect; GetDlgItem(IDC_MAIN_IMAGE1)->GetClientRect(&myRect);
versuche, stürzt es gleich hier ab. Wenn ich nachschaue hat IDC_MAIN_IMAGE1 einen Wert != 0, dennoch gibt's einen ASSERT!
Wäre für'n Tip echt dankbar!
-
Picture Klasse gibt es nicht... CPicture?
Die Show Funktion nutzt man nur, wenn Du es direkt in einen eigenen DC zeichnen möchtest.
Wenn Du es in einem Static anzeigen willst brauchst DU das nicht.
-
Vielen Dank für den Hinweis. Ja, ich meine die Klasse CPicture. Ich habe mit dem graphischen Designer für das GUI meinem Dialog ein picture control hinzugefügt und es von IDC_STATIC in IDC_SUB_IMAGE1 umbenannt, so dass ich ihm eine Variable zuweisen kann. Jetzt ist die Frage:
1. wie ich mittels der CPicture-Klasse in diesem picture control ein Image anzeigen lassen kann und
2. zwar so, dass es sich (möglichst automatisch) der Größe und Auflösung des picture controls anpasst und somit vollständig angezeigt wird (ohne etwas abzuschneiden).Welche Methode der Klasse benötige ich dafür und gibt's da evt. ein Beispiel?
-
Lege eine eigene Fensterklasse an. Überschreibe OnPaint und zeichen was Du willst.
Alternativ verwende das CStatic und weise ihm die Bitmap zu die du anzeigen willst.
Google ist die bekannt?
Warum wird das Forum immer als "meta-Suchmaschine" benutzt?
Meine Suche nach "Picture control MFC" ergab sofort entsprechenden Beispielcdoe
http://www.codeproject.com/Articles/24969/An-MFC-picture-control-to-dynamically-show-picture
-
herzlichen Dank für den Link! Ich habe auch bereits selbst gegoogelt, bevor ich hier etwas gposted habe, aber den Link nicht gefunden.
Man muss eben auch wissen was man sucht und welche Suchbegriffe nötig sind, um das Richtige zu finden! Allein schon deshalb ist das Forum eine super Adresse und bringt letztlich viel schneller eine Lösung als unqualifiziert selbst zu suchen. Daher nochmals herzlichen Dank!