在MFC里如何用菜单命令实现两个FormView

在MFC里如何用菜单命令实现两个FormView,第1张

创建分割视图-在新建工程的第四步,advanced选项里面选择use splitter window,第五步选择windows explore(可选项,建议选上),在CMainFrame的OnCreateClient函数里面,选择自己的类,这些类是要自己去创建的,要基于FormView。可以左右都是FormView。要实现菜单命令切换功能也很简单,只是我前不久也发过个问题,居然没人回答~。这里跟你共享一下代码:

voidCMainFrame::OnChangeView1()

{

m_wndSplitter.DeleteView(0,1)

m_wndSplitter.CreateView(0,1,

RUNTIME_CLASS(CFomr1View),

CSize(0,0),

NULL)

m_wndSplitter.RecalcLayout()

}

切换别的视图,将它所在的类在上面函数中替换即可。

提示:这些视图要自己去创建,并将他们的类基于FormView即可。

在窗口销毁函数里面删除

添加WM_DESTROY 消息响应函数

CMyFrame::DestroyWindow()

{

m_pMyview->CloseWindow()

delete m_pMyview

}

你最好可以在初始化时将m_pMyview=NULL在在程序运行中可以根据需要判断窗口是否已经创建。

主菜单就是在CmainFrame里添加IDM_TEST消息响应ON_COMMAND

m_pMyframe是与m_pMyview相连的,只要m_pMyview关闭了,相应的资源就释放掉了,就像CMainFrame* pMainFrame = new CMainFrame同样不需要手动删除。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11425825.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存