voidCMainFrame::OnChangeView1()
{
m_wndSplitter.DeleteView(0,1)
m_wndSplitter.CreateView(0,1,
RUNTIME_CLASS(CFomr1View),
CSize(0,0),
NULL)
m_wndSplitter.RecalcLayout()
}
切换别的视图,将它所在的类在上面函数中替换即可。
提示:这些视图要自己去创建,并将他们的类基于FormView即可。
这种窗口界面可以通过两种方式实现:
拆分式View。MFC单/多文档程序支持拆分视图窗口,在向导中选择拆分视图个数,并分别指定视图为FormView和CView即可。
对话框式工具条。在VC6中使用CDialogBar,新版VS中使用CDockablePane,即可以工具条的方式建立左侧的Form,并像工具条一样使用它。
决定使用哪种方式,看程序的具体需求,如果是多文档一对一的方式或者都使用Doc传递数据,推荐方法1,如果是Form全局或者希望Form界面更灵活的伸缩隐藏等,推荐方法2
方法如下:用CView*或者CFrameWnd*给他做父窗口 一般你是做成非模态对话框就用Create Example
CMyDialog* pDialog
void CMyWnd::OnSomeAction()
{
//pDialog initialized to NULL in the constructor of CMyWnd class
pDialog = new CMyDialog()
//Check if new succeeded and we got a valid pointer to a dialog object
if(pDialog != NULL)
{
BOOL ret = pDialog->Create(IDD_MYDIALOG,/*父窗口*/)
if(!ret) //Create failed.
AfxMessageBox("Error creating Dialog")
pDialog->ShowWindow(SW_SHOW)
}
else
AfxMessageBox("Error Creating Dialog Object")
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)