了,匈牙利表示法。
如消息的前缀使用 msg.句柄使用 h.函数使用 fn 等。
多说了,习惯了就好了.3.有效使用 MSDN:想成为 VC 高手,还要强迫自己习惯于使用 MSDN,看得多了,不怕看不懂如果仅仅知道功能不知道具体的函数,可用类似的英语单词去搜索。
我平时就用金山词霸一点点的啃。
唉,说起来惭愧,本人英语四级没过,这学期连报考都没有。
以后努力了,总感觉到大学的教育很有问题,好像每个人都在为四六级而奔忙。
呵呵,说了这些,真怀疑对你真的有用。
有不对的地方,请指出。
希望大家共同进步,把 VC 活吃了.......第二只小板凳打开 VC,file--gtnew--gtprogects--gtwin32 application并在 project name 中输入 hello.顺路走下来,选择第二项。
在编辑器中输入以下程序覆盖向导产生的代码:include quotstdafx.hquot //注意,这个向导产生的头文件不能去掉include ltwindows.hgtLRESULT CALLBACK WndProc HWND UINT WPARAM LPARAM int WINAPI WinMain HINSTANCE hInstance HINSTANCE hPrevInstance PSTR szCmdLine int iCmdShow static TCHAR szAppName TEXT quotHelloWinquot HWND hwnd MSG msg WNDCLASS wc wc.style CS_HREDRAW CS_VREDRAW wc.lpfnWndProc WndProc wc.cbClsExtra 0 wc.cbWndExtra 0 wc.hInstance hInstance wc.hIcon LoadIcon NULL IDI_APPLICATION wc.hCursor LoadCursor NULL IDC_ARROW wc.hbrBackground HBRUSH GetStockObject WHITE_BRUSH wc.lpszMenuName NULL wc.lpszClassName szAppName if RegisterClass ampwc MessageBox NULL TEXT quotThis program requires Windows NTquot szAppName MB_ICONERROR return 0 hwnd CreateWindow szAppName // window class name TEXT quot欢迎你的到来quot // window caption WS_OVERLAPPEDWINDOW // window style CW_USEDEFAULT // initial x position CW_USEDEFAULT // initial y position CW_USEDEFAULT // initial x size CW_USEDEFAULT // initial y size NULL // parent window handle NULL // window menu handle hInstance // program instance handle NULL // creation parameters ShowWindow hwnd iCmdShow UpdateWindow hwnd while GetMessage ampmsg NULL 0 0 TranslateMessage ampmsg DispatchMessage ampmsg return msg.wParam LRESULT CALLBACK WndProc HWND hwnd UINT message WPARAM wParam LPARAM lParam HDC hdc PAINTSTRUCT ps RECT rect switch message case WM_PAINT: hdc BeginPaint hwnd ampps GetClientRect hwnd amprect DrawText hdc TEXT quot你好欢迎你来到 VC 之路quot -1 amprect DT_SINGLELINE DT_CENTER DT_VCENTER EndPaint hwnd ampps return 0 case WM_DESTROY: PostQuitMessage 0 return 0 return DefWindowProc hwnd message wParam lParam 按前两节讲的方法编译后,就见到我们的第二只小板凳了,可别小看它,对它的全面理解对于学习 MFC 的封装是有很大好处的。
windows 的消息循环机制等都可通过这个东东解释出来。
好了,咱们年后继续努力吧,应该应付一下该死的考试了......SDK 编程讲座 之 第三讲:Windows 消息机制1Dos 的过程驱动与 Windows 的事件驱动在讲本程序的消息循环之前,我想先谈一下 Dos 与 Windows 驱动机制的区别:DOS 程序主要使用顺序的,过程驱动的程序设计方法。
顺序的,过程驱动的程序有一个明显的开始,明显的过程及一个明显的结束,因此程序能直接控制程序事件或过程的顺序。
虽然在顺序的过程驱动的程序中也有很多处理异常的方法,但这样的异常处理也仍然是顺序的,过程驱动的结构。
而 Windows 的驱动方式是事件驱动,就是不由事件的顺序来控制,而是由事件的发生来控制,所有的事件是无序的,所为一个程序员,在你编写程序时,你并不知道用户先按哪个按纽,也不知道程序先触发哪个消息。
你的任务就是对正在开发的应用程序要发出或要接收的消息进行排序和管理。
事件驱动程序设计是密切围绕消息的产生与处理而展开的,一条消息是关于发生的事件的消息。
Windows 编程的特点:C 语言编程至少有一个主程序,其名字是 main。
Windows 程序则至少两个主程序,一个是WinMainint WINAPI WinMain HINSTANCE hInstance // handle to current instance HINSTANCE hPrevInstance // handle to previous instance LPSTR lpCmdLine // command line int nCmdShow // show state 另一个是窗口过程函数 WndProc它的函数原型为:long FAR PASCAL WndProcHWND hWndWORD messageWORD wParamLONG lParamWindows 应用程序的编程就围绕这两个部份进行的。
其中 WinMain 函数为应用程序的入口点,它的名字一定要是 WinMain。
在 Windows 中,应用程序通过要求 Windows 完成指定操作,而承担这项通信任务的 API 函数就是Windows 的相应窗口函数 WndProc。
在 dos 里,程序能直接控制事件的发生顺序,结果等。
而在Windows 里,应用程序不直接调用任何窗口函数,而是等待 Windows 调用窗口函数,请求完成任务或返回信息。
为保证 Windows 调用这个窗口函数,这个函数必须先向 Windows 登记,然后在Windows 实施相应操作时回调,所以窗口函数又称为回调函数。
WndProc 是一个主回调函数,Windows 至少有一个回调函数。
回调函数 WndProc 在哪里定义的呢,请看这个语句:wc.lpfnWndProc WndProc 将在第七讲里详谈.实例:在 Windows 中,能多次同时运行同一个应用程序,即运行多个副本,每个副本叫做一个“实例”。
现在让我们把这个程序层层剥解开来我把自己的理解慢慢地展示给你:我把这个程序支解为四块:一建立注册窗口类.二创建窗口.三显示和更新窗口.四创建消息循环.五终止应用程序.六窗口过程.七处理消息.一注册窗口类: 1建立窗口类WinMain是程序的入口它相当于一个中介人的角色把应用程序指小窗口介绍给 windows.首要的一步是登记应用程序的窗口类.窗口种类是定义窗口属性的模板这些属性包括窗口式样鼠标形状菜单等等窗口种类也指定处理该类中所有窗口消息的窗口函数.只有先建立窗口种类才能根据窗口种类来创建 Windows 应用程序的一个或多个窗口.创建窗口时还可以指定窗口独有的附加特性.窗口种类简称窗口类窗口类不能重名.在建立窗口类后必须向 Windows 登记.建立窗口类就是用 WNDCLASS 结构定义一个结构变量在这个程序中就是指 WNDCLASS wc 然后用自己设计的窗口属性的信息填充结构变量 wc 的域.要 WinMain 登记窗口类首先要填写一个 WNDCLASS 结构其定义如下所示: typedef struct _WNDCLASSA UINT style //窗口类风格 WNDPROC lpfnWndProc //指向窗口过程函数的指针 int cbClsExtra //窗口类附加数据 int cbWndExtra //窗口附加数据 HINSTANCE hInstance //拥有窗口类的实例句柄 HICON hIcon //最小窗口图标 HCURSOR hCursor //窗口内使用的光标 HBRUSH hbrBackground //用来着色窗口背景的刷子 LPCSTR lpszMenuName //指向菜单资源名的指针 LPCSTR lpszClassName // 指向窗口类名的指针 在 VC6.0 里面,把光标定位在 WNDCLASS 上,按 F1,即可启动 MSDN,在 MSDN 里你可看到这个结构原形.在下节讲解这些参数在本程序中的具体用法. 2注册窗口类 在1第一个参数:成员 style 控制窗口的某些重要特性, WINDOWS.H 中定义了一些前缀为 CS 的常量,在程序中可组合使用这些常量
上一篇:
iMC系列 六轴 四轴 运动控制卡快速应用_v1.1
下一篇:
白色姜花,略微开了