非java 模态对话框框如何与主窗口一起移动

请教:怎样让一个窗口(非模态对话框)始终在另一个窗口(非模态对话框)之上
[问题点数:50分,结帖人Siw]
请教:怎样让一个窗口(非模态对话框)始终在另一个窗口(非模态对话框)之上
[问题点数:50分,结帖人Siw]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
2006年6月 硬件/嵌入开发大版内专家分月排行榜第二2005年5月 硬件/嵌入开发大版内专家分月排行榜第二2005年1月 硬件/嵌入开发大版内专家分月排行榜第二2004年12月 硬件/嵌入开发大版内专家分月排行榜第二2004年10月 硬件/嵌入开发大版内专家分月排行榜第二
2005年8月 硬件/嵌入开发大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。------解决方案--------------------引用:我是一个Qt的初学者,最近想在主窗口程序中获取非模态对话框中的一个LineEdit控件输入的参数,一直获取不到,不知高手你能不能给提供一个好的解决方法。
利用非模态对话框与主窗口之间的信号与槽就可以实现了!
非模态对话框
connect(lineEdit,&SIGNAL(editFinished()),&this,&SLOT(editFinish()));
void&Widget::editFinish()
&&&&QString&text&=&lineEdit-&text();
&&&&emit&sendText(text);
//widget为非模态对话框
connect(widget,&SIGNAL(sendText(QString)),&this,&SLOT(receiveText(QString)));
void&MainWidget::receiveText(QString&text)
&&&&//进行处理
}(本文来自互联网,不代表搜站(/)的观点和立场)编辑推荐最近更新4433人阅读
对话框分为模态对话框和非模态对话框,创建模态对话框用DialogBox(),创建非模态对话框用CreateDialog(),一个对话框通常都应当有一个父窗口,对话框的定位以父窗口的坐标系统为基准,父窗口关闭对话框也随即关闭。如果模态对话框没有父窗口就不再具有模态对话框的特性(用户必须处理完模态对话框的要求之后才能继续在主窗口的操作)。例如使用MessageBox(NULL,&Message&,&Error&,MB_OK)弹出一个警告对话框阻止用户的进一步操作,但是第一个参数指定其父窗口为NULL,该信息框将不再具有预料的功能,在该对话框显示时,用户仍然能够在程序的主窗口中进行操作。  一、 模态对话框和非模态对话框  1、 调用模态对话框  调用DialogBox()或者DialogBoxIndirect(),模态对话框显示后,其父窗口接到一个WM_CANCELMODE消息,要求其释放对鼠标的捕获,供对话框使用。对话框有自己的消息队列,当该消息队列空闲时,其父窗口将接收到WM_ENTRYIDLE消息,可以在这个消息的处理函数中进行后台操作。在处理的过程中应不断调用PeekMessage()监视对话框的消息队列,一旦发现消息立刻将控制权转移给对话框。  2、 调用非模态对话框  调用CreateDialog()或者CreateDialogIndirect(),参数和DialogBox()的参数完全相同,不过非模态对话框不会自动显示,因此要再调用一下ShowWindow()函数,或者在资源编辑器中编辑对话框时指定对话框的Style为Visible。例如:ShowWindow(CreateDialog(hInst,(LPCSTR)IDD_DIALOG,hwnd,(DLGPROC)DlgProc),TRUE);   二、 对话框模板  对话框模板用来描述一个对话框的外观和其包含的控件,一个对话框可以一个可执行程序中的对话框资源,也可以使用一个内存模板。  1、 使用内存模板建立对话框  内存对话框模板由两部分组成,第一部为一个DLGTEMPLATE(或DLGTEMPLATEEX)结构,描述对话框的整体结构,第二部分为若干个DLGITEMTEMPLATE(或DLGITEMTEMPLATEEX)结构,描述对话框内部的控件,模板建立后调用CreateDialogIndirect()或DialogBoxIndirect()函数建立对话框  2、 DLGTEMPLATE结构typedef struct { DWORD DWORD dwExtendedS WORD
} DLGTEMPLATE, *LPDLGTEMPLATE;   三、 DLGITEMTEMPLATE结构typedef struct { DWORD DWORD dwExtendedS
WORD // on Windows 95/98, this is a byte.} DLGITEMTEMPLATE, *PDLGITEMTEMPLATE;   四、 Modeless对话框  1、 调用非模态对话框if(!IsWindow(hwndDlg)){hwndDlg=CreateDialog(hInst,(LPCSTR)IDD_DLG,hWnd,(DLGPROC)DlgProc);ShowWindow(hwndDlg,SW_SHOW);}   IsWindow()函数判断hwndDlg是否已经指向一个窗口,如果返回TRUE,表示对话框已经显示,不需要再调用对话框,如果返回FALSE,调用CreateDialog()显示对话框。要注意一点,hwndDlg必须声明为全局变量,而不是对话框函数的私有变量,否则每次对话框函数被调用都将重新初始化该变量IsWindow(hwndDlg)总方会FALSE,上面的判断语句就形同虚设了。同时应在调用EndDialog()前设hwndDlg=NULL,否则对话框关闭后IsWindow(hwndDlg)总返回TRUE,再也打不开了。  2、 处理非模态对话框消息  对于非模态对话框,对话框接收的消息有可能被传递给父窗口,因此在父窗口的消息处理中派遣消息之前要区分来自窗口的和来自对话框的消息:if(!IsDialogMessage(&msg)){TranslateMessage(&msg);DispatchMessage(&msg);}&
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:44356次
排名:千里之外
原创:11篇
转载:41篇
(2)(1)(4)(5)(2)(22)(2)(7)(5)(2)第9章 对话框高级编程_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
文档贡献者贡献于
评价文档:
34页1下载券34页1下载券34页1下载券34页免费68页1下载券 26页2下载券10页免费37页免费20页免费43页1下载券
喜欢此文档的还喜欢3页免费8页1下载券42页1下载券99页1下载券84页1下载券
第9章 对话框高级编程|C​+​+​面​向​对​象
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
大小:299.00KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢如何创建一个非模态对话框工程
[问题点数:20分,结帖人Gestaporay]
如何创建一个非模态对话框工程
[问题点数:20分,结帖人Gestaporay]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
2007年6月 总版技术专家分月排行榜第三
2007年6月 VC/MFC大版内专家分月排行榜第一
2007年9月 Linux/Unix社区大版内专家分月排行榜第二2007年7月 Linux/Unix社区大版内专家分月排行榜第二
2010年6月 Linux/Unix社区大版内专家分月排行榜第三2008年4月 Linux/Unix社区大版内专家分月排行榜第三2008年3月 Linux/Unix社区大版内专家分月排行榜第三
2007年9月 Linux/Unix社区大版内专家分月排行榜第二2007年7月 Linux/Unix社区大版内专家分月排行榜第二
2010年6月 Linux/Unix社区大版内专家分月排行榜第三2008年4月 Linux/Unix社区大版内专家分月排行榜第三2008年3月 Linux/Unix社区大版内专家分月排行榜第三
2013年4月 VC/MFC大版内专家分月排行榜第一2007年7月 VC/MFC大版内专家分月排行榜第一2007年5月 VC/MFC大版内专家分月排行榜第一2007年4月 VC/MFC大版内专家分月排行榜第一2007年3月 VC/MFC大版内专家分月排行榜第一
2013年3月 VC/MFC大版内专家分月排行榜第二2013年2月 VC/MFC大版内专家分月排行榜第二2008年8月 VC/MFC大版内专家分月排行榜第二2008年7月 VC/MFC大版内专家分月排行榜第二2007年9月 VC/MFC大版内专家分月排行榜第二2007年8月 VC/MFC大版内专家分月排行榜第二2005年12月 VC/MFC大版内专家分月排行榜第二2005年10月 VC/MFC大版内专家分月排行榜第二
2013年4月 VC/MFC大版内专家分月排行榜第一2007年7月 VC/MFC大版内专家分月排行榜第一2007年5月 VC/MFC大版内专家分月排行榜第一2007年4月 VC/MFC大版内专家分月排行榜第一2007年3月 VC/MFC大版内专家分月排行榜第一
2013年3月 VC/MFC大版内专家分月排行榜第二2013年2月 VC/MFC大版内专家分月排行榜第二2008年8月 VC/MFC大版内专家分月排行榜第二2008年7月 VC/MFC大版内专家分月排行榜第二2007年9月 VC/MFC大版内专家分月排行榜第二2007年8月 VC/MFC大版内专家分月排行榜第二2005年12月 VC/MFC大版内专家分月排行榜第二2005年10月 VC/MFC大版内专家分月排行榜第二
2007年10月 Linux/Unix社区大版内专家分月排行榜第三2007年9月 Linux/Unix社区大版内专家分月排行榜第三
2010年7月 VC/MFC大版内专家分月排行榜第三2010年6月 VC/MFC大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。}

我要回帖

更多关于 模态对话框 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信