【已解决】Msgbox有没有办法置顶?
本帖最后由 229989799 于 2017-1-25 23:05 编辑Msgbox有没有办法置顶?
有时候Msgbox的窗口不在最顶层,电脑下方任务栏能看到msgbox消息框,但是实际窗口被其他窗口遮盖了无法点击。。有什么办法强制让msgbox在所有窗口最顶层,如何设置:如果用户没有对msgbox操作就无法按其他东西。。
简单理解为,不点击msgbox的确定,就无法使用其他功能
解决办法二种:
msgbox(262144+16,"标题","文本")
msgbox(16,"标题","文本","",form1) 不点击msgbox的确定,就无法使用其他功能 这个可以在弹出确认对话框前设置窗口不能操作,确认后再设置回来!相关函数 GUISetState 回复 2# heroxianf
如果被其他对话框挡住了msgbox,这样就会导致GUI无法使用了。。
比如msgbox被一个网页挡住了,msgbox不在网页上一层,所以点不到确定或关闭,只能在任务栏里点msgbox右键关闭了,不方便哦。。 回复 3# 229989799
我也没有找到相关的说明,不过你可以试试加上 MSGBOX 最后一个参数 [可选] 显示对话框的父窗句柄.
这样当弹出MSGBOX界面自动就不能操作了,而且弹出MSGBOX和窗口是一体的。
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 615, 438, 192, 124)
$Button1 = GUICtrlCreateButton("Button1", 200, 192, 75, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
MsgBox(0, '', '', '', $Form1)
EndSwitch
WEnd
回复 3# 229989799
如果你之前设置了窗体置顶 那么MSGBOX 也是永远在最前端。目前我是这么使用的。 Msgbox加上$MB_TOPMOST类型。 回复 6# 帆船
{:face (197):} 帮助我也没仔细看呢!
MsgBox($MB_TOPMOST, '', '')
这样确实置顶了,不过不是我想要的那种效果~ 这些方法应该满足楼主了。 多谢6 7楼的兄弟,新年大吉。。2种置顶各有好处,结合使用就满足了。。多谢你们。。 还是应该多看帮助啊
页:
[1]