MFC第一节-windows程序内部运行机制

一、窗口

设计窗口类时:

 1 typedef struct _WNDCLASS{
 2 UINT style; //如水平、垂直变化是否重绘,禁用Close,检测双击
 3 WNDPROC lpfnWndProc;//窗口过程函数句柄
 4 int cbClsExtra;//类附加内存
 5 int cbWndExtra;//窗口附加内存
 6 HANDLE hInstance;//实例句柄
 7 HANDLE hIcon;//图标
 8 HCURSOR hCursor;//光标
 9 HBRUSH hbrBackground;//
10 LPCTSTR lpszMenuName;//菜单名
11 LPCTSTR lpszClassName;//窗口类的名字
12 }WNDCLASS

  窗口函数被调用的过程:

    1. 将函数地址赋给窗口口的lpfnWndProc

    2. 注册窗口类,系统获得编写的窗口过程函数的地址

    3. 应用程序获得消息,通过DispatchMessage(&MSG)把消息回传,调用窗口过程函数处理。

二、 WinMain

  WinMain是Windows程序的入口,包括创建窗口类,进行消息循环。

1 int WINAPI WinMain(
2 HINSTANCE hInstance,//当前运行的实例句柄
3 HINSTANCE hPrevInstance,//默认NULL
4 LPSTR lpCmdLine,//命令行参数
5 int nCmdShow//窗口显示风格
6 );

  一个应用程序可以运行多个实例,每运行一个实例,系统都会分给一个句柄并传给WinMain。

三、消息

typedef struct tagMSG{
HWND hwnd;//所属窗口
UINT message;//消息标志
WPARAM wParam;//附加信息
LPARAM lParam;
DWORD time;//进入消息队列的时间
POINT pt;//鼠标当前位置
}MSG;

四、DC

  DC 设备描述表。编程时无论显示还是打印,在DC上操作,然后映射到相应设备上。

posted @ 2014-07-03 15:18  艾普东瓜  阅读(200)  评论(0编辑  收藏  举报