windows sdk编程系列文章02 ---- 简单窗口程序

windows sdk编程系列文章02 ---- 简单窗口程序

ID:41032995

大小:73.00 KB

页数:12页

时间:2019-08-14

windows sdk编程系列文章02 ---- 简单窗口程序_第1页
windows sdk编程系列文章02 ---- 简单窗口程序_第2页
windows sdk编程系列文章02 ---- 简单窗口程序_第3页
windows sdk编程系列文章02 ---- 简单窗口程序_第4页
windows sdk编程系列文章02 ---- 简单窗口程序_第5页
资源描述:

《windows sdk编程系列文章02 ---- 简单窗口程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、windowssdk编程系列文章----简单窗口程序2008-04-0806:37理论:Windows程序中,在写图形用户界面时需要调用大量的标准WindowsGui函数。其实这对用户和程序员来说都有好处,对于用户,面对的是同一套标准的窗口,对这些窗口的操作都是一样的,所以使用不同的应用程序时无须重新学习操作。对程序员来说,这些Gui源代码都是经过了微软的严格测试,随时拿来就可以用的。当然至于具体地写程序对于程序员来说还是有难度的。为了创建基于窗口的应用程序,必须严格遵守规范。作到这一点并不难,只要用模块化或面向对象的编程方法即可。下面我就列出在桌面显示一个窗口的几

2、个步骤:1.得到您应用程序的句柄(对于C程序,可选);2.得到命令行参数(如果您想从命令行得到参数,可选);3.注册窗口类(必需,除非您使用Windows预定义的窗口类,如MessageBox或dialogbox;4.产生窗口(必需);5.在桌面显示窗口(必需,除非您不想立即显示它);6.刷新窗口客户区;7.进入无限的获取窗口消息的循环;8.如果有消息到达,由负责该窗口的窗口回调函数处理;9.如果用户关闭窗口,进行退出处理。相对于单用户的DOS下的编程来说,Windows下的程序框架结构是相当复杂的。但是Windows和DOS在系统架构上是截然不同的。Windows

3、是一个多任务的操作系统,故系统中同时有多个应用程序彼此协同运行。这就要求Windows程序员必须严格遵守编程规范,并养成良好的编程风格。例子:(见光盘FirstWindow)#include"Windows.h"#include"tchar.h"HWNDhWinMain;TCHARszClassName[]=_T("MyClass");TCHARszCaptionMain[]=_T("MyFirstWindow!");TCHARszText[]=_T("Win32program,Simpleandpowerful!");WNDCLASSEXstdWndClass;/

4、/如果有消息到达,由负责该窗口的窗口回调函数处理LRESULTCALLBACKProcWinMain(  HWNDhWnd,                      UINTMsg,                      WPARAMwParam,                      LPARAMlParam){       switch(Msg)       {         //如果用户关闭窗口,进行退出处理          caseWM_CLOSE:          {                DestroyWindow(hWinMai

5、n);                PostQuitMessage(NULL);          }           break;         default:             returnDefWindowProc(hWnd,Msg,wParam,lParam);     }    return0;}intWINAPIWinMain(    HINSTANCEhInstance,                       HINSTANCEhPrevInstance,                       LPSTRlpCmdLine,

6、                       intnCmdShow){      MSGstMsg;      WNDCLASSEXstdWndClass;      RtlZeroMemory(&stdWndClass,sizeof(stdWndClass));      stdWndClass.hCursor=LoadCursor(0,IDC_ARROW);      stdWndClass.cbSize=sizeof(stdWndClass);      stdWndClass.style=CS_HREDRAW

7、CS_VREDRAW;      stdWnd

8、Class.lpfnWndProc=ProcWinMain;      stdWndClass.hbrBackground=(HBRUSH)COLOR_WINDOW;      stdWndClass.lpszClassName=szClassName;      stdWndClass.hInstance=hInstance;      //注册窗口    RegisterClassEx(&stdWndClass);      //产生窗口      hWinMain=CreateWindowEx(WS_EX_CLIENTEDGE,szClassName,sz

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。