前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Windows创建窗口详解+代码---十天教会你俄罗斯方块

Windows创建窗口详解+代码---十天教会你俄罗斯方块

作者头像
用户2965768
发布2018-08-30 16:25:24
3670
发布2018-08-30 16:25:24
举报
文章被收录于专栏:wymwym

代码地址:https://blog.csdn.net/qq_41603898/article/details/80968266

以VS为例解析:

先创建项目,主函数,再写窗口结构体

//一.创建窗口结构体 WNDCLASSEX wc; wc.cbClsExtra = 0;//紧跟在窗口类尾部的一块额外空间 wc.cbSize = sizeof(wc);//结构体大小 wc.cbWndExtra = 0;//紧跟在窗口实例尾部的一块额外空间 wc.hbrBackground = (HBRUSH)COLOR_WINDOW;//背景颜色 wc.hCursor = NULL;//光标 wc.hIcon = NULL;//窗口左上角的图标 wc.hIconSm = NULL;//状态栏中的图标,默认与左上角图标一致 wc.hInstance = hInstance;//实例句柄 wc.lpfnWndProc = NULL;//回调函数 wc.lpszClassName = NULL;//结构体名字 wc.lpszMenuName = NULL;//菜单栏名字

wc.style = CS_HREDRAW | CS_VREDRAW;//窗口水平变化或是垂直变化时重绘窗口

二.注册窗口结构体

   if (0 == RegisterClassEx(&wc))(0写左边是防止少写一个等号会产生报错信息,如果写右边少写一个等号就是赋值成0) { int eNum = GetLastError();//注册失败的错误代码 return 0;//注册失败

}

三.创建窗口

窗口句柄=HWND CreateWindowEx(

DWORD dwExStyle,//额外风格,比如WS_EX_WINDOWEDGE窗口有边框

LPCSTR lpClassName,//窗口结构体名字,用于系统区分

LPCSTR lpWindowName,//窗口左上角图标后的名字

DWORD dwStyle,//窗口风格,WS_OVERLAPPEDWINDOW包含多个风格

int X,//距离屏幕左边的距离

int Y,//距离屏幕上边的距离

int nWidth,//窗口宽度

int nHeight,//窗口的高度

HWND hWndParent,//父窗口句柄

HMENU hMenu,//菜单句柄

HINSTANCE hInstance,//实例句柄

LPVOID lpParam);//传递给回调函数的参数,MDI多文档窗口样式时使用

四.显示窗口

ShowWindow(窗口句柄(上面第三块函数的返回值), 显示窗口的状态);

五.消息处理

读取消息

BOOL GetMessage(

LPMSG lpMsg,//读取的消息放到结构体里

HWND hWND,//NULL表示接受所有窗口的消息

UINT wMsgFilterMin,

UINT wMsgFilterMax);//处理消息的范围,0,0表示处理所有消息

翻译消息

BOOL TranslateMessage(CONST MSG *lpMsg);

分发消息

LRESULT DispatchMessage(CONST MSG *lpMsg);

六.回调函数

LRESULT CALLBACK WndProc(//WndProc名称自定义

HWND hwnd,//窗口句柄

UINTmessage,//消息ID

WPARAM wParam,

LPARAM lParam)//两个消息参数

LRESULT CALLBACK WndProc(HWND hwnd,UINTmessage,WPARAM wParam,LPARAM lParam)

{//让系统自动处理默认消息

return DefWindowProc(hwnd,message,wParam,lParam);

}

wc.lpfnWndProc = WndProc;//回调函数

可将代码和解析结合看

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年07月09日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档