摘要: 这个笔记是描述为MFC例程注册特定的窗口类。
1、CWnd的m_hWnd属性或者窗口上的HWND都保存在两个地方:窗口对象和WNDCLASS。 2、窗口类的注册有四种方法: a) MFC隐式提供的WNDCLASS b) 窗口控件的隐式子类化 c) 显式地调用AfxRegisterWndClass 或者AfxRegisterClass d) 显式地高用RegisterClass 3、MFC提供的默认提供的类:AfxWnd,AfxFrameOrView,AfxMDIFrame,AfxControlBar 4、AfxRegisterWndClass返回一个指向static string的临时指针,这个指针一直到下一次调用AfxRegisterWndClass时无效。(如果要一直使它有效的话可以把它保存在一个CString中) 5、AfxRegisterWndClass调用失败会产生一个CResourceException。 6、在DLL中用注册的窗口类不会自动UnRegister,你必需手动消除窗口类。在DLL中一定使用AfxRegisterClass (or AfxRegisterWndClass ) 回为它们会维护唯一的窗口类链表且会自动unregister窗口类。而RegisterClass不会,这就会产生其他应用程序使用这个DLL时出现异常。

|