首页 > 代码库 > MFC第一节-windows程序内部运行机制

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,//默认NULL4 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上操作,然后映射到相应设备上。