Was its Flasch an diesem Code?
-
Ich bin daran ein kleines Programm zu schreiben, in einem Teil des Programms soll eine *.bmp Datei von der Festplatte geladen und angezeigt werden. Ich habe dazu mit Hilfe eines Buches den folgenden Code entworfen:
LRESULT CALLBACK ChildProc(HWND hWnd, UINT uiMessage, WPARAM wParam, LPARAM lParam) { static BITMAPFILEHEADER *pbmfh; static BITMAPINFO *pbmi; static BYTE *pBits; static int cxDib, cyDib; switch (uiMessage) { case WM_CREATE: DWORD dwFileSize, dwHighSize, dwBytesRead; HANDLE hFile; hFile = CreateFile ("test.bmp", GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_FLAG_SEQUENTIAL_SCAN, NULL); dwFileSize = GetFileSize (hFile, &dwHighSize); pbmfh = (BITMAPFILEHEADER *) malloc (dwFileSize); ReadFile (hFile, pbmfh, dwFileSize, &dwBytesRead, NULL); pbmi = (BITMAPINFO *) (pbmfh + 1); pBits = (BYTE *) pbmfh + pbmfh->bfOffBits; cxDib = pbmi->bmiHeader.biWidth; cyDib = abs(pbmi->bmiHeader.biHeight); HDC hdc; hdc = GetDC (hWnd); SetDIBitsToDevice (hdc, 0, 0, cxDib, cyDib, 0,0,0, cyDib, pBits, pbmi, DIB_RGB_COLORS); ReleaseDC (hWnd, hdc); free (pbmfh); return 0; default: return DefWindowProc(hWnd, uiMessage, wParam, lParam); } }Das Ganze fuktioniert aber nicht, warum?
-
Ähm, nimm mal LoadImage und BitBlt & Co.