MFC对话框返回值是什么
本人想做一个对话框。。点击不同的按钮显示的新对话框的按钮显示情况不同,就是指按钮个数一样就是有些是灰色的。...
本人想做一个对话框。。点击不同的按钮显示的新对话框的按钮显示情况不同,就是指按钮个数一样就是有些是灰色的。
展开
4个回答
展开全部
除非你重载DoModal函数,否则返回值只能是标准的两个。
其实使用DoModal弹出的模态对话框,修改这个返值是没有意义的,因为在DoModal返回后,你仍然可以访问mydlg这个对话框类的成员变量(注意,不要使用界面相关的控件变量)获取数据,只要你在mydlg的OnOK函数中(或者其它成员函数也可以),赋值到一个自定义的类成员变量,DoModal之后都可以取到实际的赋值。
其实使用DoModal弹出的模态对话框,修改这个返值是没有意义的,因为在DoModal返回后,你仍然可以访问mydlg这个对话框类的成员变量(注意,不要使用界面相关的控件变量)获取数据,只要你在mydlg的OnOK函数中(或者其它成员函数也可以),赋值到一个自定义的类成员变量,DoModal之后都可以取到实际的赋值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
BOOL XXXX::OnInitDialog() //初始化按钮1,可用其他为灰色
{
CButton * pBtnConn1 =(CButton*)GetDlgItem(IDC_BUTTON1);
CButton * pBtnConn2 =(CButton*)GetDlgItem(IDC_BUTTON2);
CButton * pBtnConn3 =(CButton*)GetDlgItem(IDC_BUTTON3);
pBtnConn1->EnableWindow(TRUE);//可以
pBtnConn2->EnableWindow(FALSE);//灰色
pBtnConn3->EnableWindow(FALSE);//灰色
}
void XXXX::OnBtn1() //点击按钮1
{
CButton * pBtnConn1 =(CButton*)GetDlgItem(IDC_BUTTON1);
CButton * pBtnConn2 =(CButton*)GetDlgItem(IDC_BUTTON2);
CButton * pBtnConn3 =(CButton*)GetDlgItem(IDC_BUTTON3);
pBtnConn1->EnableWindow(FALSE);//灰色
pBtnConn2->EnableWindow(TRUE);//可以
pBtnConn3->EnableWindow(FALSE);//灰色
}
{
CButton * pBtnConn1 =(CButton*)GetDlgItem(IDC_BUTTON1);
CButton * pBtnConn2 =(CButton*)GetDlgItem(IDC_BUTTON2);
CButton * pBtnConn3 =(CButton*)GetDlgItem(IDC_BUTTON3);
pBtnConn1->EnableWindow(TRUE);//可以
pBtnConn2->EnableWindow(FALSE);//灰色
pBtnConn3->EnableWindow(FALSE);//灰色
}
void XXXX::OnBtn1() //点击按钮1
{
CButton * pBtnConn1 =(CButton*)GetDlgItem(IDC_BUTTON1);
CButton * pBtnConn2 =(CButton*)GetDlgItem(IDC_BUTTON2);
CButton * pBtnConn3 =(CButton*)GetDlgItem(IDC_BUTTON3);
pBtnConn1->EnableWindow(FALSE);//灰色
pBtnConn2->EnableWindow(TRUE);//可以
pBtnConn3->EnableWindow(FALSE);//灰色
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在按钮的消息处理函数中添加如下代码:
... OnButton1()
{
GetDlgItem(IDC_BUTTON2)->EnableWindow(false);//点击按钮1时使按钮2不可用(灰色)。
}
//多个按钮也可参照该代码实现,若要使按钮恢复可用,使用GetDlgItem(IDC_BUTTON2)->EnableWindow(true);
... OnButton1()
{
GetDlgItem(IDC_BUTTON2)->EnableWindow(false);//点击按钮1时使按钮2不可用(灰色)。
}
//多个按钮也可参照该代码实现,若要使按钮恢复可用,使用GetDlgItem(IDC_BUTTON2)->EnableWindow(true);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int rlt = dlg.Domdal();
if(IDOK == rlt)
{//确定按钮被按下,做点什么?}
if(IDCANCEL == rlt)
{
//取消按钮被按下,做点什么?
}
对话框的返回值标识的是对话框退出时的原因。
if(IDOK == rlt)
{//确定按钮被按下,做点什么?}
if(IDCANCEL == rlt)
{
//取消按钮被按下,做点什么?
}
对话框的返回值标识的是对话框退出时的原因。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询