windows_sdk编程系列文章02_----_简单窗口程序.pdf

windows_sdk编程系列文章02_----_简单窗口程序.pdf

ID:52242141

大小:223.63 KB

页数:11页

时间:2020-03-25

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

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

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

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

3、indows下的程序框架结构是相当复杂的。但是Windows和DOS在系统架构上是截然不同的。Windows是一个多任务的操作系统,故系统中同时有多个应用程序彼此协同运行。这就要求Windows程序员必须严格遵守编程规范,并养成良好的编程风格。例子:(见光盘FirstWindow)#include"Windows.h"#include"tchar.h"HWNDhWinMain;TCHARszClassName[]=_T("MyClass");TCHARszCaptionMain[]=_T("MyFirstWind

4、ow!");TCHARszText[]=_T("Win32program,Simpleandpowerful!");WNDCLASSEXstdWndClass;//如果有消息到达,由负责该窗口的窗口回调函数处理LRESULTCALLBACKProcWinMain(HWNDhWnd,UINTMsg,WPARAMwParam,LPARAMlParam){switch(Msg){//如果用户关闭窗口,进行退出处理caseWM_CLOSE:{DestroyWindow(hWinMain);PostQuitMessage(

5、NULL);}break;default:returnDefWindowProc(hWnd,Msg,wParam,lParam);}return0;}intWINAPIWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPSTRlpCmdLine,intnCmdShow){MSGstMsg;WNDCLASSEXstdWndClass;RtlZeroMemory(&stdWndClass,sizeof(stdWndClass));stdWndClass.hCurso

6、r=LoadCursor(0,IDC_ARROW);stdWndClass.cbSize=sizeof(stdWndClass);stdWndClass.style=CS_HREDRAW

7、CS_VREDRAW;stdWndClass.lpfnWndProc=ProcWinMain;stdWndClass.hbrBackground=(HBRUSH)COLOR_WINDOW;stdWndClass.lpszClassName=szClassName;stdWndClass.hInstance=hInstance;/

8、/注册窗口RegisterClassEx(&stdWndClass);//产生窗口hWinMain=CreateWindowEx(WS_EX_CLIENTEDGE,szClassName,szCaptionMain,WS_OVERLAPPEDWINDOW,100,100,600,400,NULL,NULL,hInstance,NULL);if(!hWinMain)return0;//在桌面显示窗口ShowWindow(hWinMain,SW_SHOWNORMAL);//刷新窗口客户区UpdateWindow(h

9、WinMain);//进入无限的获取窗口消息的循环while(GetMessage(&stMsg,NULL,0,0)){TranslateMessage(&stMsg);DispatchMessage(&stMsg);}returnstMsg.wParam;}分析:看到一个简单的Windows程序有这么多行,您是不是有点想撤?但是您必须要知道的是上面的大多数代码都是模板而

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

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

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