windows programming

windows programming

ID:39469995

大小:866.50 KB

页数:17页

时间:2019-07-04

windows programming_第1页
windows programming_第2页
windows programming_第3页
windows programming_第4页
windows programming_第5页
资源描述:

《windows programming》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1.Win32以WinMain为程序入口点,以窗口名称、窗口处理函数、窗口位置、应用程序句柄、鼠标句柄、程序图标句柄、菜单句柄等注册窗口类,创建该类型窗口,并更新窗口【WM_PAINT消息显示窗口】,建立消息循环,实现窗口处理函数,在该函数中处理各种消息。2.1.消息循环while(GetMessage(&msg,NULL,0,0))//抓取消息{TranslateMessage(&msg);//将消息进行处理一下DispatchMessage(&msg);//将消息变量msg传给窗口处理函数}GetMessage/PeekMessage获取

2、到WM_QUIT时,返回0,结束消息循环,退出程序。GetMessage和PeekMessage的差异:当没有自己的消息时,GetMessage释放cpu,而PeekMessage还可以运行一段时间。2.2.窗口处理函数当不是自己要处理的消息时,即,default时必须调用DefWindowProc,以便系统处理该消息。WM_DESTROY消息必须处理,并必须调用PostQuitMessage,后者会触发WM_QUIT。2.3.几个常见窗口消息1.1.1.WM_CLOSE关闭窗口。它的默认响应函数是直接调用DestroyWindow(hwnd

3、),DestroyWindow(hwnd);是销毁窗口(但没有不是退出消息循环),然后销毁过程中会产生WM_DESTROY消息放入消息队列,操作系统就会进行一系列的删除动作,先发送WM_DESTROY消息,接着发送WM_NCDESTROY消息。如果这个窗口还有子窗口或者是其它窗口的所有者,就需要给所有子窗口发送删除消息。);DefWindowProc处理WM_CLOSE时,会调用DestroyWindow(hwnd)。因此,这个消息可以不被程序员显示处理。1.1.1.WM_DESTROY关闭程序。默认是调用PostQuitMessage(0)

4、作用是产生WM_QUIT并放入消息队列。DefWindowProc不处理这个消息,它必须被显示处理用来结束程序。一般处理WM_DESTROY时都是释放资源(例如申请的内存等),然后调用PostQuitMessage。1.1.2.WM_QUIT关闭消息循环。GetMessage(&msg,NULL,0,0)获取到WM_QUIT后返回假,导致消息循环退出。WM_QUIT是唯一可以使GetMessage(&msg,NULL,0,0)返回假值的消息,也从来不会被显示处理。1.MFC2.1.MFC类的主要继承体系CObjectCObject是MFC的基

5、本类,它的派生类具有RTTI、Persistence、DynmicCreation和DynamicDiagonistic能力。CCmdTargetCCmdTarget提供消息映射和传递的能力,并且只有其子类能够处理WM_COMMAND消息。CWinThreadCWinThreadwindows的一个线程。CWinAppCWinAppwindows的进程。CWndCWnd所有窗口类的基类。CView用户的操作界面,显示、编辑用户数据,一个没有边框的窗口,其外围是Frame窗口。CDocment存储用户数据,可以有多个view以不同的方式显示数据

6、。2.1.MFC宏DECLARE_DYNAMICIMPLEMENT_DYNAMICDECLARE_DYNCREATEIMPLEMENT_DYNCREATEDECLARE_SERIALIMPLEMENT_SERIALDECLARE_MESSAGE_MAPBEGIN_MESSAGE_MAPEND_MESSAGE_MAP2.2.MFC程序运行2.3.MFC消息消息处理函数的类型为afx_msgvoid。1.1.1.标准的windows消息WM_XXX此类消息对应的处理函数名已由系统决定,宏名称为ON_WM_XXX,下表列出部分该类消息:WM_CHA

7、RON_WM_CHAROnCharWM_CREATEON_WM_CREATEOnCreateWM_DESTROYON_WM_DESTROYOnDestroyDestroyWindow发起WM_PAINTON_WM_PAINTOnPaint(调用OnDraw)界面重绘1.1.2.command消息WM_COMMANDON_COMMAND(,),比如:ON_COMMAND(IDM_ABOUT,OnAbout)ON_COMMAND(IDM_FILENEW,OpenFileNew)ON_COMMAND(IDM_FILEO

8、PEN,OpenFileOpen)1.1.3.Notificationmessage(控件产生的,比如BN_XXX)控件宏处理函数ButtonON_BN_CLICK

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

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

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