为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我换成IDD_RU的IDC_BUTTON2无效呢???

为什么我换成IDD_RU的IDC_BUTTON2无效呢???

C C++
梦里花落0921 2023-04-22 22:18:44
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);

查看完整回答
反对 回复 2023-04-26
  • 1 回答
  • 0 关注
  • 182 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信