BOOL CWnd::CreateEx(DWORD dwExStyle, LPCSTSTR lpszClassName, …… LPVOID lpParam) { CREATESTRUCT cs; cs.dwExStyle = dwExStyle; … … cs.lpCreateParams = lpParam; PreCreateWindow(cs); AfxHookWindowCreate(this); HWND hWnd=::CreateWindowEx(cs.dwStyle,cs.lpszClass,…,cs.lpCreateParams); …… } 啊,一看到CreateWindowEx,亲切感又来了,这不是和SDK中的CreateWindow一样嘛,是创建窗口!既然这样,那么注册窗口肯定在该函数之前,会是谁呢?如果你做过一点MFC程序,你就会对将眼光停留PreCreateWindow上。对!就是它了。 PreCreateWindow函数是CWnd类的一个虚拟函数,提供程序设置待创建窗口的属性(包括窗口类),这样继承于CWnd的类都可以按照自己的要求在PreCreateWindow中设置自己的属性了,而且我们看到MFC也是这样做的: BOOL CWnd::PreCreateWindow(CREATESTRUCT &cs) { if(cs.lpszClass = = NULL) |
正在阅读:窗口类的诞生(注册自己的窗口类)2窗口类的诞生(注册自己的窗口类)2
2004-03-08 14:55
出处:CSDN
责任编辑:linjixiong
键盘也能翻页,试试“← →”键