孙鑫vc++讲座笔记

孙鑫vc++讲座笔记

ID:18266673

大小:82.50 KB

页数:32页

时间:2018-09-16

孙鑫vc++讲座笔记_第1页
孙鑫vc++讲座笔记_第2页
孙鑫vc++讲座笔记_第3页
孙鑫vc++讲座笔记_第4页
孙鑫vc++讲座笔记_第5页
资源描述:

《孙鑫vc++讲座笔记》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、孙鑫VC++讲座笔记孙鑫VC++讲座笔记-(1)Windows程序内部运行机制选择自hbyufan的Blog关键字孙鑫VC++讲座笔记-(1)Windows程序内部运行机制出处1,windows程序设计是种事件驱动方式的程序设计,主要基于消息的。当用户需要完成某种功能时,需要调用OS某种支持,然后OS将用户的需要包装成消息,并投入到消息队列中,最后应用程序从消息队列中取走消息并进行响应。2,消息结构:typedefstructtagMSG{//msgHWNDhwnd;//接收消息的窗口句柄。和哪个窗口相关联。UINTmessage;//消息标识。消息本身是什么。WPARAM

2、wParam;//消息的附加信息。具体取决于消息本身。LPARAMlParam;DWORDtime;//消息投递时间。POINTpt;//消息投递时,光标在屏幕上的位置。}MSG;3,消息队列:每个应用程序OS都为它建立一个消息队列,消息队列是个先进先出的缓冲区,其中每个元素都是一个消息,OS将生成的每个消息按先后顺序放进消息队列中,应用程序总是取走当前消息队列中的第一条消息,应用程序取走消息后便知道用户的操作和程序的状态,然后对其处理即消息响应,消息响应通过编码实现。4,使用VC编程除了良好的C基础外还需要掌握两方面:一,消息本身。不同消息所代表的用户操作和应用程序的状态

3、。二,对于某个特定的消息来说,要让OS执行某个特定的功能去响应消息。5,Window程序入口:intWINAPIWinMain(HINSTANCEhInstance,//当前事例句柄。HINSTANCEhPrevInstance,//先前事例句柄。LPSTRlpCmdLine,//命令行指针intnCmdShow//(窗口)显示的状态);说明:WinMain函数是Windows程序入口点函数,由OS调用,当OS启动应用程序的时候,winmain函数的参数由OS传递的。6,创建一个完整的窗口需要经过下面四个操作步骤:一,设计一个窗口类;如:WNDCLASSwndcls;二,注

4、册窗口类;如:RegisterClass(&wndcls);三,创建窗口;如:CreateWindow(),CreateWindowEX();四,显示及更新窗口。如:ShowWindow(),UpdateWindow();说明:创建窗口的时候一定要基于已经注册的窗口类.7,Windows提供的窗口类:typedefstruct_WNDCLASS{UINTstyle;//窗口的类型WNDPROClpfnWndProc;//窗口过程函数指针(回调函数)intcbClsExtra;//窗口类附加字节,为该类窗口所共享。通常0。intcbWndExtra;//窗口附加字节。通常设为

5、0。HANDLEhInstance;//当前应用程序事例句柄。HICONhIcon;//图标句柄LoadIcon();HCURSORhCursor;//光标句柄LoadCursor();HBRUSHhbrBackground;//画刷句柄(HBRUSH)GetStockObject();LPCTSTRlpszMenuName;//菜单名字LPCTSTRlpszClassName;//类的名字}WNDCLASS;8,窗口类注册:ATOMRegisterClass(CONSTWNDCLASS*lpWndClass//addressofstructurewithclass//da

6、ta);9,创建窗口:HWNDCreateWindow(LPCTSTRlpClassName,//pointertoregisteredclassnameLPCTSTRlpWindowName,//pointertowindownameDWORDdwStyle,//windowstyleintx,//horizontalpositionofwindowinty,//verticalpositionofwindowintnWidth,//windowwidthintnHeight,//windowheightHWNDhWndParent,//handletoparentoro

7、wnerwindowHMENUhMenu,//handletomenuorchild-windowidentifierHANDLEhInstance,//handletoapplicationinstanceLPVOIDlpParam//pointertowindow-creationdata);10,显示和更新窗口窗口:BOOLShowWindow(HWNDhWnd,//handletowindowintnCmdShow//showstateofwindow);BOOLUpdateWindow(HWNDhWnd/

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

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

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