ok, here is the problem, I cannot get a bitmap to be selected to a DC, my code is as follows:
can anyone help me out?Code:#include <windows.h> #include "resource.h" #define CX_BITMAP 16 #define CY_BITMAP 16 char szAppName[] = TEXT("Bitmap test"); LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); HINSTANCE hInst; int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { HWND hwnd; MSG msg; WNDCLASS wndclass; hInst = hInstance; GreenLight= LoadBitmap(hInst,TEXT("GreenLight")); wndclass.style = CS_HREDRAW | CS_VREDRAW; wndclass.lpfnWndProc = WndProc; wndclass.cbClsExtra = 0; wndclass.cbWndExtra = 0; wndclass.hInstance = hInstance; wndclass.hIcon = LoadIcon(NULL,IDI_APPLICATION); wndclass.hCursor = LoadCursor(NULL,IDC_ARROW); wndclass.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH); wndclass.lpszMenuName = NULL; wndclass.lpszClassName = szAppName; if (!RegisterClass(&wndclass)) { return 0; } hwnd = CreateWindow(szAppName, TEXT("Basic Windows"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT,CW_USEDEFAULT, CW_USEDEFAULT,CW_USEDEFAULT, NULL,NULL,hInstance,NULL); if (!hwnd) return 0; ShowWindow (hwnd,iCmdShow); UpdateWindow(hwnd); while(GetMessage (&msg,NULL,0,0)) { TranslateMessage (&msg); DispatchMessage (&msg); } return msg.wParam; } LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { HBITMAP GreenLight; HDC hdc,hdc1,hdcMem; PAINTSTRUCT ps; int i; switch (message) { case WM_CREATE: GreenLight= LoadBitmap(hInst,TEXT("GreenLight")); return 0; case WM_PAINT: hdc = BeginPaint(hwnd,&ps); hdcMem = CreateCompatibleDC(hdc); if (!SelectObject(hdcMem,GreenLight)) MessageBeep(0); BitBlt(hdc,12,12,CX_BITMAP,CY_BITMAP,hdc,0,0,SRCCOPY); EndPaint(hwnd,&ps); return 0; case WM_DESTROY: PostQuitMessage(0); return 0; } return DefWindowProc(hwnd,message,wParam,lParam); }



LinkBack URL
About LinkBacks


