问题标签 [modeless]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
7597 浏览

c# - 如何将“页面设置”和“打印机设置”显示为无模式表单?

是否可以将“页面设置”和“打印机设置”显示为无模式表单?我使用的代码如下,但表单显示为模态表单:

0 投票
2 回答
3257 浏览

vb.net - 显示一个无模式的表单,但只有一个

VB2010。我一定错过了一些东西,因为在搜索了一个小时后我找不到解决方案。我想做的很简单。在我的应用程序中,我想显示一个无模式表单,以便它浮动,而用户仍然可以与主表单交互。

但我在任何时候都只想要一个表单实例。那么如何防止多次显示实例,如果有一个实例,那么就给它焦点?

0 投票
2 回答
4400 浏览

c++ - 显示对话框时如何在 Qt 应用程序中禁用用户交互?

我有一个无模式的 QDialog 框,在我的 Qt 应用程序中弹出错误/警告,我想强制用户只关注该对话框,而不是单击应用程序中的任何内容,直到他们单击对话框上的 Ok。

我需要对话框保持无模式。隐藏主窗口或将其覆盖之类的解决方案是不可接受的。

目前我正在使用setModal(true);来解决我的问题。但我认为这种方法可能会阻止主应用程序执行。

0 投票
0 回答
234 浏览

vba - 关闭无模式用户窗体

当用户在 Word VBA 中的窗体窗口外单击时,如何关闭无模式窗体?

UserForm_Deactivate当我在无模式表单之外单击时不会调用。只有当我显示另一个表单时才会调用它。

0 投票
1 回答
3623 浏览

winapi - CDialog - 来自MODELESS对话框的EndDialog?

MS 文档(和其他文档)“清楚”指出:

... 因为 CDialog 对象的普通 OnOk 和 OnCancel 成员函数会调用 EndDialog,所以请确保您的无模式对话框不调用这些函数,而是覆盖

由于CDialog::OnOk有效地调用CDialog::EndDialog,并且该方法看起来像:

我们还可以检查再次“明确”声明的文档:::EndDialog

由 DialogBox、DialogBoxParam、DialogBoxIndirect 和 DialogBoxIndirectParam 函数创建的对话框必须使用 EndDialog 函数销毁。应用程序从对话框过程中调用 EndDialog;该功能不得用于任何其他目的。

然而,我有一个CDialog派生类,它的默认行为是 wrt。当我使用非模态/非模态时OnOK似乎一切正常。

即: * 当我关闭(无模式)对话框时,它会关闭/从视图中移除。* 应用程序没有显示任何内存泄漏。(MFC 调试构建)

所以呢?我是否需要预防EndDialog打电话给DestroyWindow自己?


注意:我知道文档和“网络”说什么。只是我还没有找到为什么我需要做不同的事情,而且这个类应该可以用于无模式和模态模式,所以不必做任何不同的事情可能会很方便。

0 投票
3 回答
21510 浏览

vba - 仍然暂停代码执行的无模式形式

无论如何,是否有一个无模式的用户表单,同时仍然像模态表单一样暂停代码执行?

我希望显示用户窗体,但仍允许与父程序交互。模态表单阻止与父程序的交互。无模式表单可以工作,但我希望代码执行在表单启动时暂停。

我通过创建一个检查表单是否可见的无限循环来解决这个问题,但这似乎有点hacky。

编辑以澄清 .show 之后的代码必须在用户表单完成后执行

0 投票
1 回答
1695 浏览

visual-c++ - 执行 GetParent() 时崩溃。关闭无模式对话框

我正在创建一个无模式对话框。该对话框从主框架窗口的菜单项中调用。

主框架.h

主框架.cpp

单击菜单项时,将调用 OnDatabaseMLdlg() 函数并出现一个资源 ID 为 IDD_MLDLG 的无模式对话框。

问题是在关闭无模式对话框时。

我无法找到正确关闭/销毁此无模式对话框的正确方法。单击右上角的十字按钮后,会生成哪条消息?

我尝试过的当前代码如下。(产生只与关闭对话框相关的代码)

MLDLG.h

MLDLG.cpp

无法理解我做错了什么或我错过了什么?

如果需要,我可以提供更多详细信息。

提前致谢。

EDIT-20130612:附加信息:

我的构造函数如下:

在这里,我已经验证 mParent 不为 NULL。

0 投票
2 回答
1083 浏览

c++ - 从 DLL 创建的 C++ 无模式对话框无法正确处理输入

我在从 DLL 文件创建无模式对话框时遇到问题。我的对话框没有什么特别之处,只有一个确定按钮和一个编辑框。我查看了这篇 Microsoft 知识库文章 ( http://support.microsoft.com/kb/233263 ) 并实施了它的解决方案来创建一个窗口挂钩来抓取和处理消息。

Microsoft 提供的方法解决了 Tab 键问题,但是,它产生了另一个问题。当我在对话框的编辑框中键入时,我按的任何内容都会重复 4 次。例如,如果我在键盘上按“a”,“aaaa”将出现在编辑框中。

如果我禁用 Window Hook,那么编辑框可以正常工作并且只显示一个“a”。

我需要对 Window Hook 程序做些什么来解决这个问题?

任何帮助是极大的赞赏。

- - 编辑 - -

根据要求,我的窗口挂钩程序代码:(与知识库文章相同)

我的对话框回调过程:

两者hHookhwndDllDlg分别定义为HHOOKHWND

0 投票
1 回答
2232 浏览

c++ - 无模式对话框中的 MFC C++ 显示模态对话框

我有一个无模式对话框。当我尝试从那里执行 .DoModal() 时,它会显示对话框,但它仍然允许您与无模式对话框进行交互。

这就是我创建无模式对话框的方式: MyMainEditorWindow = new CMyMain(this); MyMainEditorWindow->Create(CMyMain::IDD,GetDesktopWindow()); MyMainEditorWindow->ShowWindow(SW_SHOW);

做一个模态的,从那个无模式的窗口,我做

CMyDlg 我的Dlg; int 对话框 = myDlg.DoModal();

有什么办法可以做我想做的事吗?在无模式窗口中,来自它的对话框使其窗口等待直到它被决定。

0 投票
4 回答
27872 浏览

visual-studio-2010 - MFC中模态对话框和非模态对话框的区别

您能否通过向我介绍优秀的教程链接来帮助我全面了解模态对话框和非模态对话框之间的差异?
例如,你能解释一下这里链接的程序?它们是模态的还是非模态的?
据了解,我认为仅使用代码设计一个对话框意味着无模式,但使用模式设计一个对话框,Toolbox但正如我搜索的那样,我变得更加困惑。你能帮我理解更多吗?