读书人

DoModal出来的对话框为disable状态?解

发布时间: 2012-02-24 16:30:38 作者: rapoo

DoModal出来的对话框为disable状态?
void CTestmodalDlg::OnOK()
{
// TODO: Add extra validation here
mydlg dlg;
dlg.DoModal();
CDialog::OnOK();
}
//--------------------------------
mydlg 继承自CDialog,我没有添加任何代码.是由类向导生成的.
我现在执行上面那段代码得到的结果就是dlg被创建,而且也是模态状态,但是dlg的状态似乎为disable(因为dlg为灰色状态).我已经在资源视图中将他的属性:Disabled设置为false了.

[解决办法]
mydlg dlg;
dlg.DoModal();

上面的两句不要放在OnOK函数里。

[解决办法]
CDialog::OnOK();
把它去掉看看
[解决办法]
去掉CDialog::OnOK();

[解决办法]
那应该不是这儿的原因,看看其他地方有什么冲突没,比如说资源ID
[解决办法]
可以自订义一个按钮试试,在需要销毁窗口时再调用OnClose()关闭窗口试试
[解决办法]
代码肯定没问题。

要不你在资源中再搞一个对话框试试。什么都不要改,都用默认的。

然后把2个比较一下不同。
[解决办法]
跟CDialog::OnOK()没关系,
首先,把这两行代码放在这里,不知道是何用意。
第二,dlg本来就为灰色的。。你说的disable是不可用??

读书人网 >VC/MFC

热点推荐