VC关于CDialog ShowWindow()

善古 2011-01-19 02:49:44
呵呵,有个问题..请教大家一下..

CMyDlg *pDlg = new CMyDlg;
pDlg->Create(IDD_DLG_TEST);
pDlg->ShowWindow(SW_SHOW);
请问此时怎么样才能判断 确认按钮是否按下了呢(IDOK),

就像模态的:CMyDlg dgl;
if(IDOK == dlg.DoModal())
{
按钮了确证按钮!
}


...全文
456 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
善古 2011-01-19
  • 打赏
  • 举报
回复
谢谢大家..
羽毛乱发 2011-01-19
  • 打赏
  • 举报
回复
同意楼上,发送消息
varding 2011-01-19
  • 打赏
  • 举报
回复
那就用消息吧,比如dlg上面某个按钮被按了,就发个自定义消息到主窗口,并且把按钮的id作为参数,这样主窗口收到这个自定义消息再判断参数看看是哪个按钮就行了
善古 2011-01-19
  • 打赏
  • 举报
回复
if(IDOK == dlg.DoModal())
{
按钮了确证按钮!
}
这样会卡住,要用动态Create 然后ShowWindow()....
[Quote=引用 6 楼 varding 的回复:]

这个不是模态对话框,下面这个是模态,模态对话框是等窗口关闭了才返回,而showwindow立即返回,不会等到窗口关闭,你这个需求还是用模态对话框吧
if(IDOK == dlg.DoModal())
{
按钮了确证按钮!
}
[/Quote]
varding 2011-01-19
  • 打赏
  • 举报
回复
这个不是模态对话框,下面这个是模态,模态对话框是等窗口关闭了才返回,而showwindow立即返回,不会等到窗口关闭,你这个需求还是用模态对话框吧
if(IDOK == dlg.DoModal())
{
按钮了确证按钮!
}
oldmtn 2011-01-19
  • 打赏
  • 举报
回复
添加按钮消息处理事件就OK了。。别想太多。。
善古 2011-01-19
  • 打赏
  • 举报
回复
我是想在外面处理逻辑:
CMyDlg *pDlg = new CMyDlg;
pDlg->Create(IDD_DLG_TEST);
pDlg->ShowWindow(SW_SHOW);
//if(IDOK == pDlg->ShowWindow(SW_SHOW))
{
if( pDlg->m_nAedio)
{
//do xxxxx
}
}


[Quote=引用 1 楼 tigermaydo 的回复:]

void CMyDlg::OnOK()
{
按钮了确证按钮!
}
头文件加声明
[/Quote]
covsno 2011-01-19
  • 打赏
  • 举报
回复
void CMyDlg::OnOK()
{
按钮了确证按钮!,然后自己通知需要的窗口,发自定义消息吧
}
tigerMayDo 2011-01-19
  • 打赏
  • 举报
回复
响应按钮消息
tigerMayDo 2011-01-19
  • 打赏
  • 举报
回复
void CMyDlg::OnOK()
{
按钮了确证按钮!
}
头文件加声明

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧