- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Windows窗口高级编程-第二讲剖析
《Windows窗口高级编程》 第二讲:分析向导生成的Demo代码 主讲人:阙海忠 UIPower CEO 第一节:向导生成Win32 程序 打开Visual Studio 2005 选择文件菜单的新建子菜单,点击项目 在新建项目对话框中,选中Win32节点 在右侧选择Win32项目模版 在名称编辑栏中输入工程的名称,按确定弹出向导 在应用程序类型一组选项中,我们选中“Windows应用程序” 其他选项我们按默认设置即可 点击“完成”按钮就生成了Win32程序的生成 按F5编译运行,查看程序运行时的效果 第二节:工程框架 cpp中有三个全局变量 hInst表示当前应用程序的实例 szTitle表示主窗口的标题 szWindowClass表示主窗口的类名 如下图所示: ? 第二节:工程框架 Demo.cpp有五个函数 分别是_tWinMain、MyRegisterClass、InitInstance、WndProc、About。 ? 第二节:工程框架 五个函数的介绍 _tWinMain:是程序的入口,程序从这里开始执行; MyRegisterClass:是注册窗口类的函数,后面的主界面窗口是通过这个窗口类的定义进行创建的; InitInstance:用于初始化我们的程序,在这个函数我们进行主窗口创建与显示; WndProc:就是主窗口的消息处理函数,用于处理主窗口所接收到的各种消息(如鼠标的点击消息,键盘的按键消息等等); About:是“关于”对话框的消息处理函数,它的参数与WndProc一样,主要用于处理“关于”对话框所接收到的各种消息。 第三节:注册窗口类(MyRegisterClass) RegisterClassEx函数介绍 ATOM WINAPI RegisterClassEx( CONST WNDCLASSEX * pWCEX ); 输入参数pWCEX:是窗口类的结构体指针。 返回值类型为ATOM:ATOM类型是由WORD类型typedef而来的。typedef WORD ATOM; 如果函数成功,返回这个窗口类型的标识号; 如果函数失败,返回值为0。 第三节:注册窗口类(MyRegisterClass) WNDCLASSEX结构体介绍 typedef struct tagWNDCLASSEXW { UINT cbSize; //cbSize用来说明该结构体的大小,采用sizeof(WNDCLASSEX)来计算结构体的大小 /* Win 3.x */ UINT style; // style用来说明窗口类的风格,一般采用以CS_为前缀的宏定义来表示 WNDPROC lpfnWndProc; // lpfnWndProc用来设置窗口类的消息处理函数指针 int cbClsExtra; // cbClsExtra窗口类预留的数据 int cbWndExtra; //cbWndExtra窗口类预留的数据 HINSTANCE hInstance; // hInstance表示当前程序的实例 HICON hIcon; // hIcon表示注册窗口的图标 HCURSOR hCursor; // hCursor表示注册窗口的光标 HBRUSH hbrBackground;// hbrBackGround表示窗口的背景画刷 LPCWSTR lpszMenuName;// lpszMenuName表示窗口的菜单 LPCWSTR lpszClassName;// lpszClassName表示窗口类的名字 /* Win 4.0 */ HICON hIconSm; // hIconSm表示窗口的小图标 } WNDCLASSEXW, *PWNDCLASSEXW 第四节:窗口的创建与销毁 窗口句柄是窗口的唯一标识 系统通过窗口句柄能够找到并使用它所对应的窗口。窗口句柄的类型是HWND。 窗口的创建 HWND CreateWindow( LPCTSTR lpClassName, //是窗口类名字的字符串,也就是要基于哪个窗口类去创建窗口 LPCTSTR lpWindowName, //是窗口的名字,显示在窗口标题栏的文字 DWORD dwStyle, //要创建窗口的样式 int X,int Y,int nWidth,int
您可能关注的文档
最近下载
- 《城市社区居家适老化改造技术标准》.pdf VIP
- 《深度访谈专题》课件.ppt VIP
- 体育赛事大型马拉松活动品牌推广赞助方案【体育赛事】【品牌推广】【ppt策划活动方案】.pptx VIP
- 风电进场道路清障施工方案.docx VIP
- 7《植物和我们》(课件)2025科学三年级上册粤教粤科版.ppt
- 《临床静脉导管维护操作专家共识》解读PPT.pptx VIP
- 西江月.夜行黄沙道中课件.ppt VIP
- 2024-2025学年天津市河东区七年级(上)第一次月考数学试卷+答案解析.pdf VIP
- 2020 KDOQI 慢性肾脏病临床实践营养指南.docx VIP
- 《成本会计学》实训资料(中国人民大学出版社版)参考答案.pdf VIP
文档评论(0)