找回密码
 加入
搜索
查看: 1551|回复: 5

如果在窗口中键一个可以活动的窗口类似PS这样的

[复制链接]
发表于 2009-1-13 10:38:26 | 显示全部楼层 |阅读模式
如果...
当最子窗口最大化后..菜单那也有关困按钮

请高人指点谢谢!

[ 本帖最后由 阿米啦啦 于 2009-1-18 08:19 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2009-1-14 10:32:49 | 显示全部楼层
由于AU3的线程问题。对GUI一直不感冒啊。
这个是MDI,不知道AU3是否有这样的组件。

你可以建2个窗口 窗口1 和窗口2。
然后,设置窗口2的父窗口为窗口1。
发表于 2009-1-17 01:17:21 | 显示全部楼层


应该是这样的效果吧。

还需要什么功能,自行修改一下。


#include <GuiConstants.au3>
#include <WindowsConstants.au3>
#include <winapi.au3>
Opt("GUIOnEventMode", 1)

$Main_GUI = GUICreate("Main", 500, 500)
GUISetOnEvent($GUI_EVENT_CLOSE, "_GuiMsg")

GUISetBkColor(0x008040, $Main_GUI)
$Btn_Show = GUICtrlCreateButton("Show All", 10, 10, 90, 20)
GUISetState(@SW_SHOW, $Main_GUI)
$Child_GUI = GUICreate("Child", 500, 450, 0, 50, $WS_CHILD, -1, $Main_GUI)
GUISetBkColor(0x0080C0, $Child_GUI)
GUISetState(@SW_SHOW, $Child_GUI)
$Child1_GUI = GUICreate("Child1", 200, 100, 10, 50, BitOR($WS_MINIMIZEBOX, $WS_MAXIMIZEBOX, $WS_SIZEBOX))
GUISetOnEvent($GUI_EVENT_CLOSE, "_GuiMsg")

GUISetBkColor(0xFFFFFF, $Child1_GUI)
$Btn_Test1 = GUICtrlCreateButton("Test", 10, 10, 90, 20)
GUISetState(@SW_SHOW, $Child1_GUI)

$Child2_GUI = GUICreate("Child2", 200, 100, 10, 50, BitOR($WS_MINIMIZEBOX, $WS_MAXIMIZEBOX, $WS_SIZEBOX))
GUISetOnEvent($GUI_EVENT_CLOSE, "_GuiMsg")

GUISetBkColor(0xFFFFFF, $Child2_GUI)
$Btn_Test2 = GUICtrlCreateButton("Test", 10, 10, 90, 20)
GUISetState(@SW_SHOW, $Child2_GUI)

$Child3_GUI = GUICreate("Child3", 200, 100, 10, 50, BitOR($WS_MINIMIZEBOX, $WS_MAXIMIZEBOX, $WS_SIZEBOX))
GUISetOnEvent($GUI_EVENT_CLOSE, "_GuiMsg")

GUISetBkColor(0xFFFFFF, $Child3_GUI)
$Btn_Test3 = GUICtrlCreateButton("Test", 10, 10, 90, 20)
GUISetState(@SW_SHOW, $Child3_GUI)

_WinAPI_SetParent($Child1_GUI,$Child_GUI)
_WinAPI_SetParent($Child2_GUI,$Child_GUI)
_WinAPI_SetParent($Child3_GUI,$Child_GUI)
GUICtrlSetOnEvent($Btn_Show, "_GuiMsg")
GUICtrlSetOnEvent($Btn_Test1, "_GuiMsg")
GUICtrlSetOnEvent($Btn_Test2, "_GuiMsg")
GUICtrlSetOnEvent($Btn_Test3, "_GuiMsg")



While 1
        Sleep(250)
WEnd


Func _GuiMsg()
        Switch @GUI_CTRLID 
                Case  $GUI_EVENT_CLOSE
                        Switch @GUI_WinHandle
                                Case $Main_GUI
                                        Exit
                                Case $Child1_GUI 
                                        GUISetState(@SW_HIDE,$Child1_GUI )
                                Case $Child2_GUI 
                                        GUISetState(@SW_HIDE,$Child2_GUI )
                                Case $Child3_GUI 
                                        GUISetState(@SW_HIDE,$Child3_GUI )
                        EndSwitch        
                Case $Btn_Show 
                        GUISetState(@SW_SHOW,$Child1_GUI ) 
                        GUISetState(@SW_SHOW,$Child2_GUI ) 
                        GUISetState(@SW_SHOW,$Child3_GUI ) 
                Case $Btn_Test1,$Btn_Test2,$Btn_Test3
                        MsgBox(64,"测试","我是一个子窗口")
        EndSwitch
EndFunc
        


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2009-1-18 08:21:12 | 显示全部楼层
原帖由 sanhen 于 2009-1-17 01:17 发表
2356

应该是这样的效果吧。

还需要什么功能,自行修改一下。

[au3]
#include
#include
#include
Opt("GUIOnEventMode", 1)

$Main_GUI = GUICreate("Main", 500, 500)
GUISetOnEvent($GUI_EVENT_ ...

就是这样。。谢谢谢谢
发表于 2009-2-3 15:28:10 | 显示全部楼层
非常感谢2楼的代码!!so cool!!
发表于 2009-7-3 15:14:11 | 显示全部楼层
多谢三恨兄的代码~!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-4-28 08:24 , Processed in 0.072127 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表