1、C++\CLI的含义,是指将静态C++对象模型和动态CLI组件模型的一种绑定。
CLI: Common Language Infrastructure与公共语言运行时CLR相关
2、
IDC:ID of Control
IDI:ID of Icon
IDB:ID of Bitmap
IDD:ID of Dialog
IDS:ID of String
3、Windows窗口程序的产生过程
从WinMain函数进去,首先要注册一个程序窗口RegisterClassEx(&WindowClass),其中WindowClass是WNDCLASSEX WindowClass,它是窗口类数据结构,包含了一些窗口信息
然后 HWND hWnd; //Window handle
hWnd = CreateWindow(...),如果说注册窗口确定了一些一般信息,CreateWindow的参数就给出了一些特定信息。
ShowWindow{hWnd, nCmdShow);
UpdateWindow(hWnd);
另外一个窗口程序还需要消息泵和消息处理函数,消息处理函数会注册在窗口类中
MSG msg; //MSG是个struct
while(GetMessage($msg, 0, 0, 0) == TRUE)
{
TranslateMessage(&msg);
DIspatchMessage(&msg);
}
WindowProc()
4、Windows中的消息
分为两种:一种是被Windows放入队列的排队消息。包括键盘、鼠标消息
另一种是非排队消息。它是处理排队消息的结果。会导致调用WindowProc()
窗口消息的ID都以WM_开头,如WM_QUIT,除非消息是WM_QUIT,否则GetMessage会一直返回TRUE
当GetMessage中没有消息时,该函数会让整个进程挂起,从而释放CPU
TranslateMessage函数会为与键盘有关的消息做一些转换工作;DispatchMessage函数会调用WindowProc函数来处理消息
5、MFC程序的执行过程
创建应用程序对象theApp,它是全局的
执行MFC提供的WinMain()函数
WinMain()函数调用InitInstance()函数,此函数创建模板、mainframe、文档及视图
WinMain()函数调用Run()函数,该函数执行主消息循环,以获取和分派Windows消息
阅读(362) | 评论(0) | 转发(0) |