duilib : 模态窗口
- void CMainDlg::DoTask()
- {
- CTaskDlg * pDlg = NULL;
- pDlg = new CTaskDlg(XML_FILE_NAME_TASK_DLG, WND_CLASS_NAME_TASK_DLG);
- //如果第一个参数是NULL, 为桌面, 子窗口就不是模态对话框
- pDlg->Create(this->m_hWnd, MAIN_RORG_DISP_NAME, UI_WNDSTYLE_FRAME, WS_EX_WINDOWEDGE);
- pDlg->CenterWindow();
- pDlg->ShowModal(); ///< 弹出的是模态窗口
- }
pDlg->Create 的第一个参数,开始写成了NULL, 子窗口弹出后, 还可以操作主窗口.
因为要弹出模态对话框, 跟进 pDlg->ShowModal(), 看到了duilib禁止主窗口的代码, 才想到第一个参数应为父窗口窗口句柄.
可以看出, 当要弹出非模态窗口时, 可以将pDlg->Create 的第一个参数 填成 NULL.
- UINT CWindowWnd::ShowModal()
- {
- ASSERT(::IsWindow(m_hWnd));
- UINT nRet = 0;
- HWND hWndParent = GetWindowOwner(m_hWnd); ///< 如果子窗口创建时,参数1为NULL, 这里得到的 hWndParent 就为 NULL
- ::ShowWindow(m_hWnd, SW_SHOWNORMAL);
- ::EnableWindow(hWndParent, FALSE); ///< 当 (NULL == hWndParent) 时, EnableWindow 不生效, 导致弹出的是非模态窗口.
- MSG msg = { 0 };
- while( ::IsWindow(m_hWnd) && ::GetMessage(&msg, NULL, 0, 0) ) {
- if( msg.message == WM_CLOSE && msg.hwnd == m_hWnd ) {
- nRet = msg.wParam;
- ::EnableWindow(hWndParent, TRUE);
- ::SetFocus(hWndParent);
- }
- if( !CPaintManagerUI::TranslateMessage(&msg) ) {
- ::TranslateMessage(&msg);
- ::DispatchMessage(&msg);
- }
- if( msg.message == WM_QUIT ) break;
- }
- ::EnableWindow(hWndParent, TRUE);
- ::SetFocus(hWndParent);
- if( msg.message == WM_QUIT ) ::PostQuitMessage(msg.wParam);
- return nRet;
- }
duilib : 模态窗口相关推荐
- java 非模态_Qt 之 模态、非模态、半模态窗口的介绍及 实现QDialog的exec()方法
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/GoForwardToStep/arti ...
- php模态窗口,php – 如何在yii2中的模态窗口中使用pjax更新小部件
我在一个模态窗口中有两个ActiveForms,在提交第一个表单后,我需要更新第二个表单并保持模态. 据我所知,pjax可以处理,但无法让它正常工作. 在_form.php中,我有ActiveForm ...
- duilib 子窗口位置_duilib绝对定位与相对定位
前言 duilib中窗口,布局,控件等在屏幕上的显示位置都是按照配置好的xml文件规则显示的,每个显示元素的位置大小也需要显式指定,才能呈现出更好看的界面效果,显示元素的位置有两种配置规则,即绝对位置 ...
- 移动端模态窗口的滚动和橡皮筋问题解决方案
1.什么是模态窗口[浮层]? 模态窗口就是用户只能与该窗口进行交互,而其他用户界面收不到输入信息.只有关闭该窗口后,其他界面才能与用户交互,且仍可以读取模态窗口中的信息. 其特点就是: a.用户的交 ...
- bootstrap 模态窗口 多重/多个弹窗滚动条补丁
由于bootstrap的模态窗口默认不支持多次弹出, 在关闭的时候会有滚动条消失的问题. 经过观察和查看源码, 发现在开启和关闭的时候会在body上增加/减少一个"modal-open&qu ...
- 用页传值方式解决模态窗口的Response.WriteFile文件下载
因为项目需要,使用了模态窗口,故在BasePage中的override void OnInit(EventArgs e)中加入如下内容. Response.Clear(); ...
- window.showModalDialog弹出模态窗口
[转http://www.cnblogs.com/zhouzhaokun/archive/2011/11/14/2248523.html] 在我们平时的B/S web开发当中,可能很多时候我们需要有这 ...
- MFC模态窗口与非模态窗口
MFC模态窗口与非模态窗口 开发工具与关键技术:C++.VisualStudio 作者:何任贤 撰写时间:2019年07月25日 模态窗口的意思是指主窗口在打开模态窗口后,没法再操作主窗口,这就是模态 ...
- js中父窗口获得模态窗口的返回值
<!--父窗口JS--> //查看审核详细 function viewFlow() { var strBackValue= openWin('../VertifyVie ...
最新文章
- 办公室28个经典赞美句子【转】
- springcloud(四):熔断器Hystrix
- ubuntu12.10 64位编译Android4.1
- DayDayUp:哈哈,你上榜了嘛?界面新闻发布2020年中国最富1000人榜,总财富增加28%
- 手持光谱分光仪太贵,用什么代替?
- 常见的14种异常心电图的波形特点
- C++继承详解三 ----菱形继承、虚继承
- python获取网页源码被拒绝_Python3 请求网页源码 目标计算机积极拒绝,无法连接...
- 关于线程的停止、挂起、退出(修改)
- python学习之老男孩python全栈第九期_day022作业
- 【C语言】学习gotoxy() 与 clrscr() 函数
- [刀塔自走棋] 一些数据
- 曾经的小弟, 成了现在的大牛
- sw转cad映射文件_SW转CAD图层映射
- zkSnarks:QAP上构造零知识证明
- Python学习笔记(纯代码)
- 图片如何添加水印文字?如何设置照片水印?
- UR5机械臂仿真环境搭建
- xwiki开发者指南-编写一个XWiki组件
- 深度学习模型可解释性的研究进展_化盈盈