IDD_LOOG 为VC自动生成的窗口有按钮IDOK类为CAdooDlgIDD_RUN为自制的新窗口有按钮IDC_BUTTON2类为RUNvoid CAdooDlg::OnOK() {........................数据库查询用户是否存在,存在显示新窗口IDD_RUNif(!m_Ado.m_pRecordset->adoEOF){RUN dlg;CWnd *tmp=GetDlgItem(IDOK); tmp->EnableWindow(false);dlg.DoModal();为什么只能使IDD_LOOG(当前窗口)的IDOK不可用,换成IDD_RU的IDC_BUTTON2无效呢?无法使新窗口或其他窗口中的控件不可用吗?????????????????}else{.......................................}}
1 回答
茅侃侃
TA贡献1842条经验 获得超21个赞
注意你所在函数:void CAdooDlg::OnOK() {...}
在这里,所以你GetDlgItem语句会对当前窗口生效。
至于你想在这个位置禁用RUN的ok按钮,是不可以的,因为在DoModal之前,窗口没有被创建(只是创建了类,窗口还是无效的),要修改RUN的按钮状态,需要在RUN类中,重载并实现OnInitDialog函数,在这里实现类似的语句即可:
CWnd *tmp=GetDlgItem(IDOK);
tmp->EnableWindow(false);
- 1 回答
- 0 关注
- 174 浏览
添加回答
举报
0/150
提交
取消