windows编程问题 希望指点
想绘制一副图片在窗体上 图片是1.map 可是绘制不出来 不知道哪出问题了 望懂得人指点。。。
#include<windows.h>
HBITMAP hbmp;
HDC mdc;
void MyPaint (HDC hdc); //绘图函数
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
static TCHAR szAppName[]=TEXT ("HelloWin"); //窗体类的名称
WNDCLASS wndclass;
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;
RegisterClass (&wndclass); //注册窗体类
HWND hwnd;
HDC hdc;
hwnd= CreateWindow(szAppName, //创建窗体
"The Hello Program",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
0,
CW_USEDEFAULT,
0,
NULL,
NULL,
hInstance,
NULL);
ShowWindow (hwnd, iCmdShow);
UpdateWindow (hwnd);
hdc = GetDC(hwnd);
mdc = CreateCompatibleDC (hdc);
hbmp = (HBITMAP) LoadImage (NULL, "1.bmp", IMAGE_BITMAP, 600, 450, LR_LOADFROMFILE);
SelectObject (mdc,hbmp);
MyPaint (hdc);
ReleaseDC (hwnd, hdc);
MSG msg;
while(GetMessage (&msg, NULL, 0, 0))
{
TranslateMessage (&msg);
DispatchMessage (&msg);
}
return 0;
}
void MyPaint (HDC hdc)
{
BitBlt (hdc, 0, 0, 600, 450, mdc, 0, 0, SRCCOPY);
}
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
switch (message)
{
case WM_CREATE:
break;
case WM_PAINT:
hdc=BeginPaint(hwnd, &ps);
MyPaint (hdc);
EndPaint(hwnd, &ps);
break;
case WM_CLOSE:
if(IDYES==MessageBox(hwnd,"是否真的结束程序?","HelloWin",MB_YESNO))
{
DestroyWindow(hwnd);
}
break;
case WM_DESTROY:
DeleteDC (mdc);
DeleteObject(hbmp);
PostQuitMessage(0);
break;
default:
return DefWindowProc (hwnd, message, wParam, lParam);
}
return 0;
}
[解决办法]
你的错误提示呢?