博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
创建一个Windows窗体
阅读量:5308 次
发布时间:2019-06-14

本文共 2009 字,大约阅读时间需要 6 分钟。

20140702加:

WS_OVERLAPPEDWINDOW这个属性如果写成WS_OVERLAPPED,则窗口没有最大最小按钮以及左边的系统的菜单。

 

vs2010下的代码提示快捷键:CTRL + J

step:

窗口类赋值(12个参数)

注册窗口类

创建窗口

消息循环

 

 

#include
#include
LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd){ const TCHAR pClassName[] = _T("MyWindow"); WNDCLASSEX wcex; wcex.cbSize = sizeof(WNDCLASSEX); wcex.cbClsExtra = 0; wcex.cbWndExtra = 0; wcex.hbrBackground = (HBRUSH)::GetStockObject(WHITE_BRUSH); wcex.hCursor = ::LoadCursor(NULL, IDC_ARROW); wcex.hIcon = ::LoadIcon(NULL, IDI_APPLICATION); wcex.hIconSm = ::LoadIcon(NULL, IDI_APPLICATION); wcex.hInstance = hInstance; wcex.lpfnWndProc = WindowProc; wcex.lpszClassName = pClassName; wcex.lpszMenuName = NULL; wcex.style = CS_HREDRAW | CS_VREDRAW; BOOL bRet = ::RegisterClassEx(&wcex); if(!bRet) { MessageBox(NULL, _T("提示"), _T("注册窗口类失败"), MB_OK); return FALSE; } HWND hWnd = ::CreateWindowEx(0, pClassName, _T("WinDemo"), WS_VISIBLE|WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL); if(NULL == hWnd) { MessageBox(NULL, _T("提示"), _T("创建窗口失败!"), MB_OK); return FALSE; } ::ShowWindow(hWnd, SW_SHOW); ::UpdateWindow(hWnd); MSG msg; while(GetMessage(&msg, NULL, 0, 0)) { ::TranslateMessage(&msg); ::DispatchMessage(&msg); } return TRUE;}LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam){ switch(uMsg) { case WM_CLOSE: ::DestroyWindow(hwnd); return 0; case WM_DESTROY: ::PostQuitMessage(0); return 0; default: break; } return ::DefWindowProc(hwnd,uMsg,wParam,lParam);}

 

转载于:https://www.cnblogs.com/wenwujuncheng/p/3743988.html

你可能感兴趣的文章
在现有的mysql主从基础上,搭建mycat实现数据的读写分离
查看>>
[Flex] flex手机项目如何限制横竖屏?只允许横屏?
查看>>
tensorflow的graph和session
查看>>
JavaScript动画打开半透明提示层
查看>>
Mybatis生成resulteMap时的注意事项
查看>>
jquery-jqzoom 插件 用例
查看>>
1007. Maximum Subsequence Sum (25)
查看>>
iframe的父子层跨域 用了百度的postMessage()方法
查看>>
图片生成缩略图
查看>>
动态规划 例子与复杂度
查看>>
查看oracle数据库的连接数以及用户
查看>>
【数据结构】栈结构操作示例
查看>>
中建项目环境迁移说明
查看>>
三.野指针和free
查看>>
activemq5.14+zookeeper3.4.9实现高可用
查看>>
TCP/IP详解学习笔记(3)IP协议ARP协议和RARP协议
查看>>
简单【用户输入验证】
查看>>
python tkinter GUI绘制,以及点击更新显示图片
查看>>
CS0103: The name ‘Scripts’ does not exist in the current context解决方法
查看>>
20130330java基础学习笔记-语句_for循环嵌套练习2
查看>>