【备忘】一个标准GDI窗口框架

来源:互联网 发布:java手机色游戏破解版 编辑:程序博客网 时间:2024/05/18 23:57

在win32窗口基础上增加了hdc,备忘留作以后开发GDI程序使用。

#include <windows.h>const int TAR_HIGH=800;const int TAR_WEIGHT=600;const wchar_t TAR_TITLE[]=L"FFFF团力作-建大英雄传";HDC g_hdc=NULL;void Game_Paint(HWND hwnd){}bool Game_Init(HWND hwnd){g_hdc=GetDC(hwnd);//在这里做初始化工作Game_Paint(hwnd);ReleaseDC(hwnd,g_hdc);return 1;}bool Game_Clear(HWND hwnd){return 1;}LRESULT CALLBACK SdjzuProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam){switch(message){PAINTSTRUCT paintstruct;case WM_PAINT://新增设备环境句柄调用g_hdc=BeginPaint(hwnd,&paintstruct);Game_Paint(hwnd);EndPaint(hwnd,&paintstruct);ValidateRect(hwnd,NULL);break;case WM_KEYDOWN:if(wParam=VK_ESCAPE)DestroyWindow(hwnd);break;case WM_DESTROY:PostQuitMessage(0);break;default:return DefWindowProc(hwnd,message,wParam,lParam);}return 0;}int WINAPI WinMain( __in HINSTANCE hInstance, __in_opt HINSTANCE hPrevInstance, __in LPSTR lpCmdLine, __in int nShowCmd ){WNDCLASSEX wndclass={0};wndclass.cbSize=sizeof(WNDCLASSEX);wndclass.style=CS_HREDRAW|CS_VREDRAW;wndclass.lpfnWndProc=SdjzuProc;wndclass.cbClsExtra=0;wndclass.cbWndExtra=0;wndclass.hInstance=hInstance;wndclass.hIcon=(HICON)::LoadImage(NULL,L"tarico.ico",IMAGE_ICON,0,0,LR_DEFAULTSIZE|LR_LOADFROMFILE);wndclass.hCursor=LoadCursor(NULL,IDC_ARROW);wndclass.hbrBackground=(HBRUSH)GetStockObject(GRAY_BRUSH);wndclass.lpszMenuName=NULL;wndclass.lpszClassName=L"sdjzuhero";//注册窗口if(!RegisterClassEx(&wndclass))return -1;HWND hwnd=CreateWindow(L"sdjzuhero",TAR_TITLE,WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_MINIMIZEBOX,CW_USEDEFAULT,CW_USEDEFAULT,TAR_HIGH,TAR_WEIGHT,NULL,NULL,hInstance,NULL);//第三个参数控制了窗口的样式,合集为WS_OVERLAPPEDWINDOWMoveWindow(hwnd,250,80,TAR_HIGH,TAR_WEIGHT,true);ShowWindow(hwnd,nShowCmd);UpdateWindow(hwnd);//载入报错模块MSG msg={0};while(msg.message!=WM_QUIT){if(PeekMessage(&msg,0,0,0,PM_REMOVE)){TranslateMessage(&msg);DispatchMessage(&msg);}}UnregisterClass(L"sdjzuhero",wndclass.hInstance);return 0;}


1 0
原创粉丝点击