MFC对话框怎么设置可用不可用
MFC对话框如何设置可用不可用
我做的界面先做了窗口分割,上部分是视图,下部分是对话框,IDD_RUN是其ID,对话框的Disabled 设成True; 对话框涉及的函数都在rundlg.cpp;
加了菜单,有个菜单项是启用,对应函数是onsta(),在mainfrm.cpp里,预想的是点击启用后,对话框变成可用的;
void ontar()
{AfxMessageBox("打开成功!");
GetDlgItem(IDD_RUN)->EnableWindow(true);
}
求大家帮忙看下是怎么回事?请问是因为对话框函数和onstar()没在一个cpp内吗?该怎么破?
------解决思路----------------------
这个代码是上面意思?
void ontar()-------------》void Cmainfrm::ontar()
{AfxMessageBox("打开成功!");
GetDlgItem(IDD_RUN)->EnableWindow(true);------------>在这你应该实例化一个对话框的变量
}
------解决思路----------------------
首先通过CSplitterWnd的GetPane得到指定的View,你的对话框是属于CFormView
CFormVIew *pFormView=m_splitterWnd.GetPane(1,0);
if(pFormView)
pFormView->EnableWindow(TRUE);
------解决思路----------------------
如果是用CSplitterWnd分割,
窗口结构应该看起来是这样
CMainFrame
CSplitter
视图
对话框
弄不清楚结构的话可以用Spy++查看。
获取对话框的方法应该类似
m_wndSplitter.GetPane(1, 0)
所以应为
m_wndSplitter.GetPane(1, 0)->EnableWindow(TRUE);
我做的界面先做了窗口分割,上部分是视图,下部分是对话框,IDD_RUN是其ID,对话框的Disabled 设成True; 对话框涉及的函数都在rundlg.cpp;
加了菜单,有个菜单项是启用,对应函数是onsta(),在mainfrm.cpp里,预想的是点击启用后,对话框变成可用的;
void ontar()
{AfxMessageBox("打开成功!");
GetDlgItem(IDD_RUN)->EnableWindow(true);
}
求大家帮忙看下是怎么回事?请问是因为对话框函数和onstar()没在一个cpp内吗?该怎么破?
------解决思路----------------------
这个代码是上面意思?
void ontar()-------------》void Cmainfrm::ontar()
{AfxMessageBox("打开成功!");
GetDlgItem(IDD_RUN)->EnableWindow(true);------------>在这你应该实例化一个对话框的变量
}
------解决思路----------------------
首先通过CSplitterWnd的GetPane得到指定的View,你的对话框是属于CFormView
CFormVIew *pFormView=m_splitterWnd.GetPane(1,0);
if(pFormView)
pFormView->EnableWindow(TRUE);
------解决思路----------------------
如果是用CSplitterWnd分割,
窗口结构应该看起来是这样
CMainFrame
CSplitter
视图
对话框
弄不清楚结构的话可以用Spy++查看。
获取对话框的方法应该类似
m_wndSplitter.GetPane(1, 0)
所以应为
m_wndSplitter.GetPane(1, 0)->EnableWindow(TRUE);