怎么使“关于”窗口始终保持激活状态,直到关闭?[已解决]
本帖最后由 茫然 于 2013-4-4 16:59 编辑新手写个小程序,一个主窗口,一个“关于”窗口。
“关于”窗口显示后如何像SciTE编辑器--帮助-关于本作 那样始终保持在激活状?谢谢! 设置指定窗口的"总是在顶层"属性.
WinSetOnTop ( "窗口标题", "窗口文本", 标志 ) 本帖最后由 茫然 于 2013-4-4 13:39 编辑
设置指定窗口的"总是在顶层"属性.
WinSetOnTop ( "窗口标题", "窗口文本", 标志 )
dhlhmgc 发表于 2013-4-4 13:17 http://www.autoitx.com/images/common/back.gif
试过了,不行的。
虽然在顶层了,但这时点一下后面的窗口(主窗口),这个关于窗口就是非激活状态了,而且能点到后面主窗口的内容,比如按钮、edit。
打开SciTE编辑器的“关于”窗口后,这时你点主窗口,”关于”窗口闪几下,始终在当前状态。后面的主窗口也不能编辑。要的就是这种效果。 这个就不知道了,可能还需要设置窗口样式 和扩展样式 之类的,在帮助里找找吧! GUISetState(主窗口句柄,@SW_DISABLE) 本帖最后由 茫然 于 2013-4-4 15:46 编辑
GUISetState(主窗口句柄,@SW_DISABLE)
ceoguang 发表于 2013-4-4 13:58 http://www.autoitx.com/images/common/back.gif
谢谢版主!
应该是GUISetState(@SW_DISABLE,主窗口句柄)吧?
这样只是禁用了主窗口,没有保持“关于”窗口始终保持激活。和SciTE里的“关于”窗口效果不一样。
举例说明这种效果:$Form1 = GUICreate("主窗口")
GUISetState(@SW_SHOW)
MsgBox(8192,"子窗口","此窗口始终保持激活状态","",$Form1)运行后 点击“主窗口” 就看以看出效果了。
只不过这是MsgBox产生的窗口,要是自己的窗口能这样就oK了! 你是要这种效果吧http://www.autoitx.com/forum.php?mod=redirect&goto=findpost&pid=405649&ptid=30744 本帖最后由 茫然 于 2013-4-4 16:58 编辑
你是要这种效果吧
zldfsz 发表于 2013-4-4 15:56 http://www.autoitx.com/images/common/back.gif
谢谢啊,搞定了! 效果刚刚的。
收到上面例子启发,特意写了个例子,给遇到此类问题的坛友有所帮助,省的多走弯路。#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Global $gu_Form1 = GUICreate("主窗口", 330, 312, -1, -1)
GUISetState(@SW_SHOW)
Global $gu_Button_About = GUICtrlCreateButton("关于", 40, 275, 75, 25)
Global $gu_Button_Exit = GUICtrlCreateButton("退出", 216, 275, 75, 25)
Global $gu_Form2 = GUICreate("关于...", 314, 96, -1, -1, $WS_SYSMENU, $WS_EX_TOPMOST, $gu_Form1)
While 1 ;消息循环模式
$nMsg = GUIGetMsg(1)
Switch $nMsg
Case $GUI_EVENT_CLOSE
Switch $nMsg
Case $gu_Form1
Exit
Case $gu_Form2
GUISetState(@SW_HIDE, $gu_Form2)
GUISetState(@SW_ENABLE, $gu_Form1)
WinActivate($gu_Form1)
EndSwitch
Case $gu_Button_Exit
Exit
Case $gu_Button_About
GUISetState(@SW_DISABLE, $gu_Form1)
GUISwitch($gu_Form2)
GUISetState(@SW_SHOW)
EndSwitch
WEnd
页:
[1]