Chinaunix首页 | 论坛 | 博客
  • 博客访问: 166426
  • 博文数量: 43
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 675
  • 用 户 组: 普通用户
  • 注册时间: 2013-01-26 00:58
文章分类
文章存档

2014年(2)

2013年(41)

我的朋友

分类: C/C++

2013-03-11 19:50:13

首先有个全局变量,CMyApp app;为了确定执行顺序,必须有一个入口,这里的入口时_tWinMain,这里微软很人性化的不需要我们写这个函数,而是在link的时候直接添加到应用程序代码中
_tWinMain调用了AfxWinMain()
AfxWinMain的主要部分
{
CWinApp *pApp=AfxGetApp();
AfxWinInit();/* 这个函数将hInstance,lpCmdLine等WinMain的参数付给了唯一的CWinApp全局对象;  然后调用了AfxInitThread();AfxInitThread函数利用钩子函数将消息映射机制引入MFC  的Message Map中AfxGetThreadState()函数用来获得当前进程的Thread State,如果当前的线程还没有Thread State,该函数会创建一个新的Thread State*/
pApp->InitApplication();//这里做的是DOC/VIEW的管理,这里不详解
pApp->InitInstance();//在这里展开我们主窗口的生命  /*这里进行了窗口的注册*/
pApp->Run();//Run函数内开始GetMessage,TranslateMessage,DispatchMessage消息,消息发往窗口类注册时候设置的proc函数DefWindowProc
 
}
在InitApplication()中new了一个CMyFrameWnd对象并显示。窗口的产生在这个CMyFrameWnd对象中,这里不具体深究。需要的时候再了
阅读(908) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~