2-1 在窗口类CFrameWnd 中需要封装那些成员?
窗口句柄、窗口类的定义、注册窗口类、创建窗口、显示更新窗口。
-
数据成员有:
-
m_bAutoMenuEnable,rectDefault。
Construction成员函数:CFrameWnd
Initialization成员函数:Create,LoadFrame,LoadAccelTable,LoadBarState,
SaveBarState,ShowControlBar,SetDockState,GetDockState
Overridables成员函数:OnCreateClient,OnSetPreviewMode,GetMessageBar,NegotiateBorderSpace
操作成员函数:
-
ActivateFrame,InitialUpdateFrame,GetActiveFrame,:SetActiveView,
GetActiveView,CreateView,GetActiveDocument,GetControlBar,GetMessageString,
IsTracking,SetMessageText,EnableDocking,DockControlBar,
FloatControlBar,BeginModalState,EndModalState,InModalState,
ShowOwnedWindows,RecalcLayout,
Command Handlers函数:OnContextHelp
2-2 应用程序类CWinApp应该具备哪些主要的功能?
创建、显示应用程序的窗口和建立消息循环。CWinApp类是MFC对Windows主函数的封装
2-3 在MFC程序设计中,如果要建立拥有自己风格的主窗口,应该重写什么函数?
继承CWinAPP类并需要重写该类的成员函数InitInstance。
class CMyApp:public CWinApp{
public:
BOOL InitInstance(int nCmdShow);
};
CWinApp::InitInstance(int nCmdShow){
m_paMainWnd = new CFrameWnd;
m_paMainWnd->Create(NULL,"新的InitInstance函数");
m_paMainWnd->ShowWindow(nCmdShow);
m_paMainWndUpdateWindow();
return ture;
}
//对基类的函数进行重新定义。