问题标签 [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.
mfc - 失去焦点时如何破坏无模式对话框?
我创建了一个无模式对话框,并在此对话框顶部放置了一个网格(网格在对话框上完全重叠)。这将在用户单击 F2 时显示。现在当用户在对话框外单击鼠标左键时,我想销毁此对话框。请有人建议我如何销毁对话框?(就像在外部单击时工具提示被破坏一样)
java - 无模式 JDialog 不显示内容
(Java SE 6) 我正在尝试创建一个弹出对话框,在我的程序执行一些耗时的工作时显示“请稍候”消息。为此,我选择使用无模式的 JDialog,以便程序在 JDialog 可见时继续运行并工作(如果您使用模式的,程序将停止,直到用户关闭对话框) .
问题是,当您以这种方式使用无模式对话框时,会出现带有标题的 JDialog,但内容不会出现(我猜它们由于某种原因没有被绘制)。我试过调用重绘等,但似乎没有任何效果。
现在,根据互联网上的一群人的说法,这是 Swing 的一个真正的错误,我发现的唯一答案是不要以这种方式做事,而是找到一些其他方法来通知用户等待。我很好奇这里是否有人以前遇到过这个问题并找到了解决方法。
谢谢!
wpf - WPF 无模式对话框呈现文本框不可编辑
我从 WinForms 窗口启动的 WPF 表单在作为无模式对话框启动时显示为所有文本框不可编辑。当它是模态窗口时效果很好。我仍然可以输入空格或粘贴文本。但是常规输入不起作用。我正在使用带有 SP1 的 3.5。有人知道如何解决这个问题吗?
wpf - 如何防止新 STA 线程上的非模态窗口关闭
我想打开一些非模型窗口(WPF),但在这必须发生的时候,我在一个非 STA 线程上。所以我开始一个新线程并在那里打开它们。但是一旦打开,它们就会再次关闭。(顺便说一句。这些窗口的行为应该独立于主窗口。所以没有设置所有者属性)
我在这里做错了什么?
visual-c++ - 主窗口作为无模式对话框的 MFC 应用程序
我正在开发一个 MFC 应用程序并将其导出到 dll 中。该应用程序只有一个窗口,我希望该窗口无模式。在 InitInstance() 内部,如果我希望它是模态的,我只需要这样做:
它作为一个模态工作得很好。这是无模式的代码:
我试图调试它。在它达到 return true 之前很好;之后,对话窗口冻结并且没有响应。有谁知道如何解决这一问题?
android - android中是否有任何无模式对话框,就像谷歌地图在触摸时显示的那样?
我想要一个可以与用户交互的小部件,但不会阻止活动,就像谷歌地图在屏幕上的某个地方被触摸时所做的那样。有没有人知道如何实施它?我已经知道 toast、alert,甚至是对话主题的活动,似乎它们都不符合我的要求。非常感谢。
c++ - 无模式对话框和加速器
CTRL+S
当用户在无模式对话框中按下时,我想执行一些操作。加速器将是完美的,除了我无法控制线程的消息循环(想想插件),所以我不能调用TranslateAccelerator
.
嵌套消息循环不是一个选项,因为主应用程序在调用PeekMessage
.
- 有什么方法可以“强制”现有的消息循环来处理我的加速器?
- 除了加速器还有其他方法可以捕捉
CTRL+S
吗?
我考虑过使用 Window hooks on WH_GETMESSAGE
,它在从GetMessage
or返回之前被调用PeekMessage
。但是我不确定我成功调用后会发生什么TranslateAcellerator
,我不能让应用程序知道我处理了它。
WH_MSGFILTER
将需要应用程序实现对 的调用CallMsgFilter
,而使用调试器一目了然。
我的最后一个想法是将控件子类化,这是我试图避免的。这将需要一些机制来向父窗口发出按键事件信号,我认为这不是一个很好的设计。此外,如果我添加更多控件,我将不得不对每一个控件进行子类化。
感谢您的任何提示。
wpf - 到本机 MFC MDI 应用程序的无模式子 WPF 窗口
我有一个 MFC MDI 应用程序,我正在尝试向它添加一个新对话框。我希望这个对话框在 WPF 中(基本上是一个窗口而不是一个对话框)。这个窗口应该是无模式的并且是当前 MDI 视图的子窗口。
假设我在 MFC 应用程序中有 CMyView,在其 OnCreate 中,我尝试创建 WPF 窗口。为此,我制作了一个名为 CMyWindowWrapper 的包装类(使用 /CLR 编译)
窗口包装类有一个 Create 函数,它实际上创建了 WPF 窗口:
MyWindow 是 WPF 窗口,我在其中添加了一个名为 ShowModeless 的函数,如下所示:
现在应用程序的行为如下:每当创建 CMyView 时,就会成功创建一个无模式的 MyWindow,即使焦点位于 CMyView 上,它也始终显示在 CMyView 之上。但是,当 CMyView 关闭或最小化时,MyWindow 不会跟随它。只有当整个应用程序关闭/最小化时,它才会关闭/最小化。
如果需要,我可以附上显示问题的示例应用程序。
请指教。
太感谢了。
dialog - 为什么显示自绘无模对话框时会出现任务栏?.. 有时?
我有一个有趣(但令人沮丧)的问题。我有一个使用全屏的应用程序(这是为了模拟第三方全屏 POS 应用程序)。
我的应用程序在全屏应用程序顶部显示一系列无模式对话框。它显示一个,隐藏它,然后显示下一个,隐藏它等等。第三次显示后,Windows 任务栏大约 1 秒后出现。我不知道为什么。
我已经剥离了我的代码,看看它是否在我的 OnNcActivate 处理程序(我用它来绘制我的皮肤窗口)中做的事情,但我不认为这是因为问题似乎与时间有关。我自己尝试过运行 Spy++ 以及在 m WindowProc 中转储消息,但我仍然看不到任何奇怪的东西可以给我任何线索。
我的日志中有一些 ID 为 0x36e 的消息,但我不知道它们应该是什么。我检查了各种消息 ID 列表,但找不到它们。它们不应该是我自己的任何消息 ID,因为 WM_USER 直到 0x400 才开始。
我知道我可以通过自动隐藏任务栏来解决这个问题,但我不能要求我们的客户将他们的任务栏配置为自动隐藏来解决我的问题。
任何想法为什么任务栏会出现在我的无模式对话框中?
编辑:我完全去掉了我自己绘制的 GUI 代码,我仍然有同样的问题。我可能是错的,但似乎当我首先调用 ShowWindow(SW_HIDE) 时,Windows 会尝试激活“另一个窗口”(如 MSDN 中所说)。我认为在这种情况下它会激活任务栏而不是 POS 应用程序。另一方面,如果我在第二个调用 ShowWindow( SW_HIDE ) 之前打开我的第二个窗口,那么它似乎表现得很好。
干杯火花
windows - 为什么在 3rd 方全屏应用程序顶部显示无模式对话框时会出现任务栏?
我在以下位置上传了一个 VS2010 项目。一旦您运行了全屏应用程序,就应该运行此测试应用程序。一旦它运行,您有 2 秒钟的时间点击您的全屏应用程序。它使用全屏应用程序(应该是最后一个获得焦点的窗口)作为对话框的所有者创建 2 个无模式对话框。显示、隐藏一个对话框,然后显示、隐藏第二个对话框,然后循环显示第一个对话框。我发现第二次显示第一个对话框时,任务栏弹出。我花了 4 天痛苦的时间试图了解这里发生了什么,我迫切需要一些帮助。
我收到了一些帮助,建议当我调用 DestroyWindow 来隐藏对话框时,Windows 会将焦点放在“某处”——在我的情况下是任务栏。以前当我问这个问题时,我没有使用全屏应用程序作为我的窗口的所有者。我会认为焦点应该回到所有者窗口?在我的对话框上调用 DestroyWindow 之前,我还尝试在全屏应用程序上调用 SetFocus() 和 SetForegroundWindow() - 但是这似乎导致任务栏每次都出现,我根本不希望这样。
请帮忙!