问题1:主对话框有两个按钮 其中按钮2被禁用。通过按下按钮1按钮弹出子对话框1
请问:怎么样通过子对话框1界面中的确定按钮使主对话框上的button2(即按钮2)可用(即不被禁用)。我尝试在子对话框1的确定按钮中添加: CButton* pBtn=(CButton*)GetDlgItem(IDC_BUTTON2);
pBtn->EnableWindow(TRUE);
但是还是无效。请问你该在确定按钮中添加什么代码?
解决方案 »
- 怎么响应类似ctrl+a shift+b
- VC如何实现treelist父子节点联动
- 为什么调用了Close()后,进程还是没有关闭的?
- 在release下出现error LNK2001:的问题
- 程序在运行开始时出现 user breakpoint called from code at 0x7c953412 的对话框如何处理?
- 如何用interrupt停止一个用CreateThread创建的阻塞线程
- 求各位高手帮忙!--关于通讯的dll。
- 关于OnLButtonDown的问题,高手帮忙!谢谢!
- 各位高手,在vc中怎么改变窗口及控件的大小
- 最快的取点方法?
- 求教!怎么能实现子对话框只能在主对话框里移动和改变大小
- 关于文件的读写
CWnd *pBtn=AfxGetApp()->m_pMainWnd->GetDlgItem(IDC_BUTTON2);pBtn->EnableWindow(TRUE);
在你的对话框1中重载OnOk(双击那个OK按钮)
添加如下代码void COtherDlg::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码
CDemoDlg *pDlg = (CDemoDlg*)AfxGetApp()->GetMainWnd();
pDlg->GetDlgItem(IDC_BUTTON2)->EnableWindow(TRUE);
CDialogEx::OnOK();
}方法二 在主对话框中添加void CDemoDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
COtherDlg dlg;
if (dlg.DoModal()==IDOK)
{
GetDlgItem(IDC_BUTTON2)->EnableWindow(TRUE);
}
}
((CButton *)pDlg->GetDlgItem(IDC_BUTTON2))->EnableWindow(TRUE);
CXXXDlg是你的主对话框类
pBtn->EnableWindow(TRUE);这样试试
ASSERT(pParent);
pParent->GetDlgItem(IDC_BUTTON2)->EnableWindow(TRUE);
{CWnd* pParent = GetParent();
ASSERT(pParent);
pParent->GetDlgItem(IDC_BUTTON2)->EnableWindow(TRUE);
CDialog::OnOK();}
Bk是子对话框类名 但是还是不能式被禁用的主对话框上的BUTTON2激活(即可以按下去工作)