学习《深入浅出MFC》

有时间,有心情,还可能学有所用,终于有机会学习《深入浅出MFC》,
从网上了解有人推荐先看李久进著《MFC深入浅出》,完全是扯淡!那本书晦涩难懂,对MFC初学者一点用处没有。
虽然不会从事MFC开发,但C++开发应在工作范围之内,学习本书,这此总结,以备查阅:

1. 对Windows消息机制的理解更加系统;
2. 理解MFC巧妙的宏运用;
3. 搞清楚线程持有消息队列,而非窗口,窗口持有创建线程;
4. XWindow和Windows有类似的消息机制;
5. 窗口关闭操作->DestroyWindow销毁win窗口资源->OnNcDestroy->PostNcDestroy->delete this
   delete CButton->按钮析构->Destroywindow销毁win按钮资源
6. 生命周期:
shell -> 加载exe -> startup代码 -> new WinApp() -> AfxWinMain() + AfxGetApp() -> 进程+主线程(线程消息队列)
-> CWinApp::InitApplication()  = new CDocManager -> CWinApp::InitInstance() -> new CFramWnd()+CWnd::Create()
-> RegWinClass + RegWinProc=DefWindowProc -> API:CreateWindow() -> WM_Create -> CWin::OnCreate() -> ShowWindow UpdateWindow
-> 入队消息 PostMsg to System Msg Queue -> PostMsg to Thead(theWnd) Msg Queue -> CWinApp::Run()=Thread::GetMsg()+DispatchMsg()
[-> 非入队消息(窗口内操作) SendMsg to Current Wnd ]
-> AfxWndProc(pWnd=CWnd:FromHandlePermanent(hWnd)) -> CWnd::WindowProc()
-> CWnd::OnWndMsg() + DefWindowProc() -> 路由MsgMap = OnWndMsg+OnCmdMsg+OnNotifyMsg
-> wm_close -> destroywindow -> wm_destroy -> PostQuitMsg -> wm_quit -> msg while end -> ExitInstance

 

CollectionsClasses

 

DocumentView

 

docviewframe

 

 

Exception类.JPG

 

mfc 类架构.JPG

 

 

mfc 消息路由表.JPG

 

打印流程.JPG

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值