C++ WinMain(模板)
2017-01-14 22:14
465 查看
#include<windows.h> // HINSTANCE 实例的句柄. 加载资源需要用到HINSTANCE // HWND 窗口句柄 和窗口相关的操作 // HDC 设备句柄 绘图的操作 LRESULT CALLBACK MyWinMain(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)//回调函数(消息的) { switch(uMsg) { case WM_CLOSE: //自动退出 { ::PostQuitMessage(0); } break; } return DefWindowProc(hWnd,uMsg,wParam,lParam); //返回消息的默认处理 } int CALLBACK WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow) { //设置画刷 HBRUSH hBrush=::CreateSolidBrush(RGB(62,71,98)); //设计窗口 WNDCLASSEX wndclass; wndclass.cbClsExtra=0; wndclass.cbSize=sizeof(wndclass); wndclass.cbWndExtra=0; wndclass.hbrBackground=hBrush; wndclass.hCursor=0; wndclass.hIcon=0; wndclass.hIconSm=0; wndclass.lpfnWndProc=MyWinMain; wndclass.lpszClassName="Leo"; //注册窗口时候要的名字,作为参数 wndclass.lpszMenuName=0; //菜单名字 wndclass.style=CS_HREDRAW|CS_VREDRAW; wndclass.hInstance=hInstance; //注册窗口 if(RegisterClassEx(&wndclass)== false) { MessageBox(NULL,"注册失败","提示",MB_OK); return 0; } //创建 HWND hWnd=::CreateWindow("Leo","Small Test",WS_OVERLAPPEDWINDOW,0,200,500,500,NULL,NULL,hInstance,NULL); //显示窗口 ShowWindow(hWnd,nCmdShow); //消息循环 MSG msg; while(::GetMessage(&msg,0,0,0)) { ::TranslateMessage(&msg); //将得到的消息翻译 ::DispatchMessage(&msg); //翻译来的消息发送 } return 0; }
相关文章推荐
- 越过c++默认winmain/main直接进入口
- C/C++ entry point: main, wmain, WinMain, wWinMain v.s. _UNICODE
- 关于C++模板和重载的小问题
- 剖析C++模板(上)
- 一步步学习Winsock API(1)——建立Visual Basic项目模板
- 关于C++模板和重载的小问题
- 测试一下 Intel C++8.0 对模板的支持程度zz
- c++入门学习(函数模板)
- C++中的函数模板
- 一个高效的C++性能计数器模板
- dotNet中ArrayList的C++模板简单实现
- 剖析C++模板(中)
- C++模板的定制二:定制C++类
- C++模板代码的组织方式 ——包含模式(Inclusion Model)
- 混沌 IN C++::模板参数的奥秘
- C++模板的定制四:定制成员函数和缺省类参
- 剖析C++模板(下)
- C++模板的定制三:部分定制C++类
- 深入C++之函数模板
- C++之模板(Template)