000
23.05.2008, 19:12 Uhr
cmos
|
Ich möchte ein Bitmap aus einer Datei laden und im Dialog darstellen. Ein paar Tage zuvor hatte ich das schonmal ausprobiert und es hat auch funktioniert. Nur weiß ich nicht mehr wie ich das gemacht habe und den dazugehörigen Sourcecode habe ich nicht mehr
Ich befinde mich in de OnPaint Methode meines Dialogs im else weig.
Als MEmbervariablen sind deklariert:
HBITMAP hBmp; BITMAP bmp;
C++: |
CDlg::OnInitDialog() { ....
// TODO: Hier zusätzliche Initialisierung einfügen hBmp = (HBITMAP) ::LoadImage(NULL, "E:\\Test.bmp", //filename IMAGE_BITMAP, 0, 0, //whole bitmap LR_LOADFROMFILE | //load format LR_CREATEDIBSECTION); //
// Get bitmap info. GetObject (hBmp,sizeof (bmp),&bmp);
}
|
C++: |
CDlg::OnPaint() { if(isIconic) { CPaintDC dc(this); ... ... } else { CPaintDC dc(this);
dc.BitBlt(rect.TopLeft().x,rect.TopLeft().y,rect.Width(),rect.Height(),&memDC,bmp.bmWidth,bmp.bmHeight,SRCCOPY); }
CDialog::OnPaint();
}
|
Ich erinner mich noch, dass dc.BitBlt... zum Schluss kam und das Bild zeichnete. Aber was dazwischen passiert weiß ich nicht. Und viele Beispiel die ich gefunden habe haben nicht funktioniert. bzw. bezogen sie sich auf ein SDI dokument.
Könnte mir jemand helfen, diese Lücken im Quellcode zu schließen ?
Danke, cmos |