002
12.07.2004, 12:24 Uhr
t10ottoo
|
Hmmm...das versteh ich nicht ganz. Hab das nun so gemacht:
C++: |
CFileFind find_file;
CString szFilename = combo_text + ".bmp";
if (find_file.FindFile(szFilename,0) != 0) { find_file.Close(); HBITMAP hBmp = (HBITMAP)::LoadImage(NULL,szFilename, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE|LR_CREATEDIBSECTION);
CBitmap pic; pic.LoadBitmap(szFilename); BITMAP bild_header; pic.GetBitmap(&bild_header); CWnd* wp = GetDlgItem(IDC_BILD);
CDC *pDC = wp->GetDC(); CDC imageDC; imageDC.CreateCompatibleDC(pDC); imageDC.SelectObject( &pic);
int x_anfang = (205/2)-((bild_header.bmWidth/(bild_header.bmHeight/150)-10)/2); int bild_width = (bild_header.bmWidth/(bild_header.bmHeight/150))-10;
pDC->StretchBlt(x_anfang,0,bild_width,205,&imageDC,0,0,bild_header.bmWidth, bild_header.bmHeight,SRCCOPY); imageDC.DeleteDC(); wp->ReleaseDC(pDC); } else { // else MessageBox("Bild nicht gefunden","Fehler",MB_OK); } // else
|
Also die Zeile hier eingefügt: "pic.LoadBitmap(szFilename);"
Immer noch derselbe Fehler...glaub aber nicht, dasses daran liegt, denn so zeigt er ja das Bild an:
C++: |
CString szFilename = combo_text + ".bmp"; HBITMAP hBmp = (HBITMAP)::LoadImage(NULL,szFilename, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE|LR_CREATEDIBSECTION);
CBitmap pic; if (pic.Attach(hBmp)) { BITMAP bild_header; pic.GetBitmap(&bild_header); CWnd* wp = GetDlgItem(IDC_BILD);
CDC *pDC = wp->GetDC(); CDC imageDC; imageDC.CreateCompatibleDC(pDC); imageDC.SelectObject( &pic);
int x_anfang = (205/2)-((bild_header.bmWidth/(bild_header.bmHeight/150)-10)/2); int bild_width = (bild_header.bmWidth/(bild_header.bmHeight/150))-10;
pDC->StretchBlt(x_anfang,0,bild_width,205,&imageDC,0,0,bild_header.bmWidth, bild_header.bmHeight,SRCCOPY); imageDC.DeleteDC(); wp->ReleaseDC(pDC); } else { GetDlgItem(IDC_BILD_INFO)->ShowWindow(TRUE); }
|
Aber ich möchte gerne beim "else" nen anderes Bild anzeigen lassen und das geht mit der Variante nicht, deshalb lass ich da nen Info-Button anzeigen, aber das gefällt mir halt net so richtig...
Gruß Thomas |