孙鑫vc++学习(vs2008)笔记之第三课MFC内部运行原理
2012-02-12 16:04
381 查看
1.查看类的继承图标Hierarchy Chart。
2.进入main(WinMain)前,系统给全局对象分配内存。
3.每一个mfc程序有且有一个由CWinApp派生的类,有且仅有一个应用程序类实例化的全局对象。
4. pThreadState->m_pCurrentWinThread = this;根据继承原理this指向的是派生类。
5.Afx前缀函数是应用程序框架函数,辅助生成应用程序框架模型。Application framework应用程序框架。
6.WinMain函数在appmodel.cpp文件中,AfxWinMain在winmain.cpp文件中,CWinApp构造函数在appcore.cpp文件中,AfxEndDeferRegisterClass在wincore.cpp文件中,CFrameWnd::PreCreateWindow在MainFrm.cpp文件中,CreateWindow在wincore.cpp文件中,CFrameWnd在winfrm.cpp文件中
7.c++不是完全的面向对象语言,为了让各个类之间能够有机地组织在一起,会定义一些全局函数,叫做应用程序框架类函数,以Afx开头的,在每一个类里面都可以调用。
8.AfxGetApp()、AfxGetThread()获得子类的指针。
9.带Ex的表示扩展函数
10. CREATESTRUCT& cs引用
11. CWinThread::Run完成消息循环,winmain.cpp中pThread->Run()指消息循环。
12.InitInstance()完成初始化操作:窗口类注册,窗口产生,窗口显示和更新。
13.CDocument类:数据的存储加载。CView:
14.::使用的是全局函数,win32的API函数
15.c++窗口销毁跟对象销毁不是一回事、
16.WS_VISIBLE,ShowWindow()
17.三态复选框
18.获取父窗口:GetParent()
View Code
小知识:vs2008中的add windows message hander:右键一个类——属性——消息列表。
查找cpp文件路径:D:\Program Files\Microsoft Visual Studio 9.0\VC\ce\atlmfc\src\mfc
如何设置win7下搜索文件包含文字:组织——文件夹和搜索选项——搜索——搜索内容里面选择始终搜索文件名和内容(此过程可能需要几分钟)
2.进入main(WinMain)前,系统给全局对象分配内存。
3.每一个mfc程序有且有一个由CWinApp派生的类,有且仅有一个应用程序类实例化的全局对象。
4. pThreadState->m_pCurrentWinThread = this;根据继承原理this指向的是派生类。
5.Afx前缀函数是应用程序框架函数,辅助生成应用程序框架模型。Application framework应用程序框架。
6.WinMain函数在appmodel.cpp文件中,AfxWinMain在winmain.cpp文件中,CWinApp构造函数在appcore.cpp文件中,AfxEndDeferRegisterClass在wincore.cpp文件中,CFrameWnd::PreCreateWindow在MainFrm.cpp文件中,CreateWindow在wincore.cpp文件中,CFrameWnd在winfrm.cpp文件中
7.c++不是完全的面向对象语言,为了让各个类之间能够有机地组织在一起,会定义一些全局函数,叫做应用程序框架类函数,以Afx开头的,在每一个类里面都可以调用。
8.AfxGetApp()、AfxGetThread()获得子类的指针。
9.带Ex的表示扩展函数
10. CREATESTRUCT& cs引用
11. CWinThread::Run完成消息循环,winmain.cpp中pThread->Run()指消息循环。
12.InitInstance()完成初始化操作:窗口类注册,窗口产生,窗口显示和更新。
13.CDocument类:数据的存储加载。CView:
14.::使用的是全局函数,win32的API函数
15.c++窗口销毁跟对象销毁不是一回事、
16.WS_VISIBLE,ShowWindow()
17.三态复选框
18.获取父窗口:GetParent()
View Code
class CWnd { public: BOOL CreateEx( DWORD dwExStyle, LPCTSTR lpClassName, LPCTSTR lpWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam); BOOL ShowWindow(int nCmdShow); BOOL UpdataWindow(); public: HWND m_hwnd; }; BOOL CWnd::CreateEx(DWORD dwExStyle, LPCTSTR lpClassName, LPCTSTR lpWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam) { m_hwnd = ::CreateWindowEx(dwExStyle,lpClassName,dwStyle,x,y, nWidth,nHeight,hWndParent,hMenu,hInstance,lpParam); if(m_hwnd != NULL) return TRUE; else return FALSE; } BOOL CWnd::ShowWindow(int nCmdShow) { return ::ShowWindow(m_hwnd,nCmdShow); } BOOL CWnd::UpdataWindow() { return ::UpdateWindow(m_hwnd); } int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nShowCmd ) { WNDCLASS wndcls; wndcls.cbClsExtra = 0; wndcls.cbWndExtra = 0; ... RegisterClass(&wndcls); CWnd wnd; wnd.CreateEx(...); wnd.ShowWindow(SW_SHOWNORMAL); wnd.UpdataWindow(); HWND hwnd; hwnd = CreateWindowEx(); ::ShowWindow(hwnd,SW_SHOWNORMAL); ::UpdateWindow(hwnd); ...... }
小知识:vs2008中的add windows message hander:右键一个类——属性——消息列表。
查找cpp文件路径:D:\Program Files\Microsoft Visual Studio 9.0\VC\ce\atlmfc\src\mfc
如何设置win7下搜索文件包含文字:组织——文件夹和搜索选项——搜索——搜索内容里面选择始终搜索文件名和内容(此过程可能需要几分钟)
相关文章推荐
- MFC视频教程(孙鑫)学习笔记1-Windows程序内部运行原理
- 孙鑫vc++学习(vs2008)笔记之第一课Windows程序运行原理
- 孙鑫VC学习笔记:第一讲 Windows程序内部运行原理
- 孙鑫VC学习笔记:第一讲 Windows程序内部运行原理
- MFC学习日记一:MFC内部运行原理
- 孙鑫VC视频学习笔记之windows程序内部运行原理
- 孙鑫VC++视频学习笔记之1: Windows程序内部运行机制
- 孙鑫MFC笔记教程(1)--Windows程序的内部运行原理
- 《笔记》孙鑫老师MFC第一讲(windows程序内部运行原理)
- MFC笔记 Windows程序内部运行原理
- MFC学习日记二:MFC内部运行原理
- 孙鑫vc++学习(vs2008)笔记之第四课MFC消息映射、画图
- MFC编程第一节:Windows程序内部运行原理
- Android开发学习笔记——编译和运行原理(1)
- VC++学习笔记之MFC应用程序创建/执行顺序和MFC运行机制
- Git学习笔记 - Git 内部原理
- 孙鑫VC++讲座笔记-(1) Windows程序内部运行机制
- git学习笔记之2 Git 内部原理 - Git 对象
- 第11课:彻底解密WordCount运行原理学习笔记
- 孙鑫vc++学习(vs2008)笔记之第五课文字处理程序