也就是在客户区中无模态显示多个对话框,却不知放到什么地方好,本想放在CMainFrame的OnCreate中
但要通过菜单来选择对话框的显示与否,菜单的响应放在CTmpView中(不知是否正确?),就放在
CTmpView::OnInitialUpdate中,像下面一样,OnInitialUpdate会不会被执行多次?我是新手请大家
讲详细点
void CTmpView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
ResizeParentToFit();
m_StatusForm.Create(IDD_STATUS_FORM,this);
m_StatusForm.ShowWindow(SW_SHOW);
}
CTmpView::~CTmpView()
{
m_StatusForm.DestroyWindow();
}
5 个解决方案
#1
贴上去?需要先分割窗口
#2
在OnInitialUpdate中创建无模式对话框即可
#3
我的很简单,不要分割窗口,只要在客户区中无模态显示多个对话框,我的目的只是想让一些控件同时显示或不显示,VC中的Group Box控件不像VB中那么方便,要一个个显示与隐藏太麻烦了,所以我把这些控件放到几个对话框中,无模态显示就行,就不知放到什么地方好?
#4
OnInitialUpdate在什么时候调用,会不会被调用多次?我是新手,请说详细点,谢谢!
#5
OnInitialUpdate仅在View被创建后调用,你可以把它想像成InitDialog函数.
再则你没有必要手动清除对话框窗口,因为当它的父窗口被关闭后,所有子窗口一并将被系统关闭掉.
再则你没有必要手动清除对话框窗口,因为当它的父窗口被关闭后,所有子窗口一并将被系统关闭掉.
#1
贴上去?需要先分割窗口
#2
在OnInitialUpdate中创建无模式对话框即可
#3
我的很简单,不要分割窗口,只要在客户区中无模态显示多个对话框,我的目的只是想让一些控件同时显示或不显示,VC中的Group Box控件不像VB中那么方便,要一个个显示与隐藏太麻烦了,所以我把这些控件放到几个对话框中,无模态显示就行,就不知放到什么地方好?
#4
OnInitialUpdate在什么时候调用,会不会被调用多次?我是新手,请说详细点,谢谢!
#5
OnInitialUpdate仅在View被创建后调用,你可以把它想像成InitDialog函数.
再则你没有必要手动清除对话框窗口,因为当它的父窗口被关闭后,所有子窗口一并将被系统关闭掉.
再则你没有必要手动清除对话框窗口,因为当它的父窗口被关闭后,所有子窗口一并将被系统关闭掉.