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

IDD_LOOG 为VC自动生成的窗口有按钮IDOK类为CAdooDlg
IDD_RUN为自制的新窗口有按钮IDC_BUTTON2类为RUN
void CAdooDlg::OnOK() 
{
........................数据库查询用户是否存在,存在显示新窗口IDD_RUN
if(!m_Ado.m_pRecordset->adoEOF)
{
RUN dlg;
CWnd *tmp=GetDlgItem(IDOK);  
tmp->EnableWindow(false);
dlg.DoModal();
为什么只能使IDD_LOOG(当前窗口)的IDOK不可用,换成IDD_RU的IDC_BUTTON2无效呢?无法使新窗口或其他窗口中的控件不可用吗?????????????????

}
else
{
.......................................
}
}








梦里花落0921
浏览 127回答 1
1回答

茅侃侃

注意你所在函数:void CAdooDlg::OnOK() {...}在这里,所以你GetDlgItem语句会对当前窗口生效。至于你想在这个位置禁用RUN的ok按钮,是不可以的,因为在DoModal之前,窗口没有被创建(只是创建了类,窗口还是无效的),要修改RUN的按钮状态,需要在RUN类中,重载并实现OnInitDialog函数,在这里实现类似的语句即可:CWnd *tmp=GetDlgItem(IDOK);  tmp->EnableWindow(false);
打开App,查看更多内容
随时随地看视频慕课网APP