Per SetWindowPos() CStatic-Objekt an Image-Größe anpassen
-
Ich versuche zur Zeit per SetWindowPos() ein CStatic-Objekt an die Größe eines durch GDI+ geliefertes Image (JPEG) dynamisch anzupassen. Hier Code-Auszüge:
CStatic* pPic = (CStatic*)GetDlgItem(IDC_PICTURE_OUT); ASSERT_VALID(pPic); // Gerätekontext darauf holen CDC* pPicCDC = pPic->GetDC(); ASSERT_VALID(pPicCDC); // GDI+ Code Graphics graphPic(pPicCDC->m_hDC); // Bild zeichnen graphPic.DrawImage(m_Image, 0,0); // Fehlercode abfangen _itoa(m_Image->GetLastStatus(), m_ErrorBuffer, 10); TRACE0("DrawImage Status:");TRACE0(m_ErrorBuffer);TRACE0("\n"); // Größe an das Bild anpassen ASSERT(pPic->SetWindowPos(GetParentFrame(), 0, 0, m_Image->GetWidth(), m_Image->GetHeight(), SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER) != 0);Das Ganze geschieht in der OnDraw() Methode meiner FormView. Das Problem ist, dass ich es mit SetWindowPos() nicht hinbekomme das Static an die Größe anzupassen... Mit MoveWindow() hingegen geht es einwandfrei. Ich würde nun aber trotzdem wissen, warum hier SetWindowPos() nicht funktioniert.
Für Hinweise wäre ich dankbar.
Prog
P.S.: Für diejenigen, die vielleicht mal darauf reinfallen: Nach einem erfolglosen DrawImage(), dass daher rührt, dass die Datei nicht gefunden werden konnte, gibt GetLastStatus() den Fehlercode 3 (zuwenig Speicher), statt 1 (File not found) zurück!
-
Schon ma überlegt, was der letzte Parameter zu bedeuten hat ?!
-
*argh*
Danke! Ohne NO_SIZE gehts natürlich...
-
