孙鑫Visual C++视频学习总结LESSON1.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
孙鑫VisualC视频学习总结LESSON1

LESSON 1 WINDOWS程序内部运行原理 操作系统所能够完成的每一个特殊功能通常都有一个函数与其对应,也就是说,操作系统把它所能够完成的功能以函数的形式提供给应用程序使用,应用程序对这些函数的调用就叫做系统调用,这些函数的集合就是Windows操作系统提供给应用程序编程的接口(Application Programming Interface),简称Windows API 消息机制 操作系统将每个事件都包装成一个称为消息的结构体MSG来传递给应用程序 typedef struct tagMSG { HWND hwnd; UINT message; WPARAM wParam; LPARAM lParam; DWORD time; POINT pt; } MSG; 句柄HWND 操作系统要管理和操作这些资源,都是通过句柄来找到对应的资源。按资源的类型,又可将句柄细分成图标句柄(HICON),光标句柄(HCURSOR),窗口句柄(HWND),应用程序实例句柄(HINSTANCE)等等各种类型的句柄。操作系统给每一个窗口指定的一个唯一的标识号即窗口句柄。 消息message Windows消息一般以WM_开头,例如WM_KEYDOWN WPARAM、LPARAM 指定消息的附加信息,比如说按键消息中按下键的ASCII值就存放在WPARAM中 time 表示消息投递时候的时间 POINT typedef struct tagPOINT { LONG x; LONG y; } POINT, *PPOINT; 当消息投递的时候,光标在屏幕上面的位置 WinMain函数 windows程序的入口函数 int WINAPI WinMain( HINSTANCE hInstance, // handle to current instance HINSTANCE hPrevInstance, // handle to previous instance LPSTR lpCmdLine, // command line int nCmdShow // show state ); HINSTANCE 实例,例如当你运行一个窗口,这个窗口就是一个实例 lpCmdLine 命令行参数,例如DOS下输入命令notepad 1.txt,1.txt就是命令行参数 nCmdLine 指定程序窗口显示状态:最大化、最小化等 创建一个完整的窗口的步骤: 窗口类的设计 typedef struct _WNDCLASS { UINT style; WNDPROC lpfnWndProc; int cbClsExtra; int cbWndExtra; HINSTANCE hInstance; HICON hIcon; HCURSOR hCursor; HBRUSH hbrBackground; LPCTSTR lpszMenuName; LPCTSTR lpszClassName; } WNDCLASS, *PWNDCLASS; style 窗口的样式,比如水平重画和垂直重画 WNDPROC 指定了这一类型窗口的过程函数,也称为回调函数。回调函数的原理是这样的,当应用程序收到给某一窗口的消息时,就应该调用某一函数来处理这条消息。这一调用过程不用应用程序自己来实施,而由操作系统来完成,但是,回调函数本身的代码必须由应用程序自己完成。对于一条消息,操作系统到底调用应用程序中的哪个函数(回调函数)来处理呢?操作系统调用的就是接受消息的窗口所属的类型中的lpfnWndProc成员指定的函数。每一种不同类型的窗口都有自己专用的回调函数,该函数就是通过lpfnWndProc成员指定的。 cbClsExtra 为每一个类指定一定字节数的附加内存空间,一般设为0 cbWndExtra 为每一个窗口指定一定字节数的附加内存空间,一般设为0 HINSTANCE 当前程序实例号 HICON 图标句柄,赋值: HICON LoadIcon( HINSTANCE hInstance, // handle to application instance LPCTSTR lpIconName // name string or resource identifier ); 若是使用windows标准

文档评论(0)

qwd513620855 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档