找回密码
 加入
搜索
查看: 2185|回复: 9

界面切换的问题

[复制链接]
发表于 2008-9-23 17:04:18 | 显示全部楼层 |阅读模式
请问 现在我写好了一个软件窗口的主界面
但同时主界面上有按钮连接到其他几个子界面
PS:子界面与主界面基本一样,只是按钮文本不一样,另外按钮连接也不一样
我该怎么写连接界面?
几个界面之间怎么来回切换?
本人小菜一个  如果说的不清楚
望见谅  谢谢大家

[ 本帖最后由 landays 于 2008-9-23 17:06 编辑 ]

评分

参与人数 1金钱 -10 收起 理由
afan -10

查看全部评分

发表于 2008-9-23 17:12:48 | 显示全部楼层
源码贴上来
发表于 2008-9-23 17:18:43 | 显示全部楼层
表述是有很大的不清楚
 楼主| 发表于 2008-9-23 17:28:27 | 显示全部楼层
#Region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_icon=D:autoit3Aut2ExeIconsdocuments-white-exec.ico
#AutoIt3Wrapper_outfile=系统设置.exe
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_UseAnsi=y
#AutoIt3Wrapper_Res_Description=设置优化工具
#AutoIt3Wrapper_Res_Fileversion=0.0.0.2
#AutoIt3Wrapper_Res_Fileversion_AutoIncrement=P
#AutoIt3Wrapper_Res_LegalCopyright=days
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
#Region AutoIt3Wrapper 预编译参数(常用参数)
;#AutoIt3Wrapper_Res_Field=AutoIt Version|%AutoItVer%                ;自定义资源段
;#AutoIt3Wrapper_Run_Tidy=                                                   ;脚本整理
;#AutoIt3Wrapper_Run_AU3Check=                                                                 ;语法检查
;#AutoIt3Wrapper_Run_Before=                                                                 ;运行前
;#AutoIt3Wrapper_Run_After=                                                                        ;运行后
#EndRegion AutoIt3Wrapper 预编译参数(常用参数)
#cs ____________________________________

#ce _______________脚本开始_________________
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GUIConstants.au3>
#include <GuiStatusBar.au3>
#NoTrayIcon
$Form1 = GUICreate("系统设置" , 637, 425)
$ButtonExit = GUICtrlCreateButton("退 出", 550, 360, 50, 25, 0)

$Group2 = GUICtrlCreateGroup("菜单切换", 8, 3, 193, 105)

$Button50 = GUICtrlCreateButton ( "系统设置", 15, 25, 85, 30, 0,$WS_EX_TRANSPARENT + $WS_EX_CLIENTEDGE  )
$Button51 = GUICtrlCreateButton ( "优化工具", 110, 25, 85, 30, 0,$WS_EX_TRANSPARENT + $WS_EX_CLIENTEDGE  )
$Button52 = GUICtrlCreateButton ( "批处理", 15, 68, 85, 30, 0,$WS_EX_TRANSPARENT + $WS_EX_CLIENTEDGE  )
$Button53 = GUICtrlCreateButton ( "注册表",110, 68, 85, 30, 0,$WS_EX_TRANSPARENT + $WS_EX_CLIENTEDGE  )

$ty = ("HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogon")
$typsd = ("DefaultPassword")
$psd = RegRead($ty, $typsd)
$SCR = "1"
GUISetState(@SW_SHOW)

While 1
        $nMsg = GUIGetMsg()
        Select
                        Case $nMsg = $GUI_EVENT_CLOSE Or $nMsg = $ButtonExit
                        Exit
        EndSelect
WEnd
 楼主| 发表于 2008-9-23 17:37:49 | 显示全部楼层
意思就是我搞了一个主窗口
有4个按钮连接到不同界面
但每个界面的内容都不一样
该怎么互相连接
我真的很菜吧。。
发表于 2008-9-23 20:01:03 | 显示全部楼层
父子窗口问题。请学会搜索。
发表于 2008-9-26 22:49:40 | 显示全部楼层

#Region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_icon=D:autoit3Aut2ExeIconsdocuments-white-exec.ico
#AutoIt3Wrapper_outfile=系统设置.exe
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_UseAnsi=y
#AutoIt3Wrapper_Res_Description=设置优化工具
#AutoIt3Wrapper_Res_Fileversion=0.0.0.2
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****


#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GUIConstants.au3>
#include <GuiStatusBar.au3>
#NoTrayIcon


$Form1 = GUICreate("主介面" , 637, 425)
$ButtonExit = GUICtrlCreateButton("退 出", 550, 360, 50, 25, 0)
$Group2 = GUICtrlCreateGroup("菜单切换", 8, 3, 193, 105)
$Button50 = GUICtrlCreateButton ( "系统设置", 15, 25, 85, 30, 0,$WS_EX_TRANSPARENT + $WS_EX_CLIENTEDGE  )
$Button51 = GUICtrlCreateButton ( "优化工具", 110, 25, 85, 30, 0,$WS_EX_TRANSPARENT + $WS_EX_CLIENTEDGE  )
$Button52 = GUICtrlCreateButton ( "批处理", 15, 68, 85, 30, 0,$WS_EX_TRANSPARENT + $WS_EX_CLIENTEDGE  )
$Button53 = GUICtrlCreateButton ( "注册表",110, 68, 85, 30, 0,$WS_EX_TRANSPARENT + $WS_EX_CLIENTEDGE  )
GUISetState(@SW_SHOW)
$Form1_1 = GUICreate("系统设置" , 637, 425, -1, -1, -1, -1)
$ButtonExit11 = GUICtrlCreateButton("返 回", 550, 360, 50, 25, 0)

$ty = ("HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogon")
$typsd = ("DefaultPassword")
$psd = RegRead($ty, $typsd)
$SCR = "1"

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $ButtonExit
                        Exit
                        
                Case $Button50
                        GUISetState(@SW_HIDE, $Form1)
                        GUISetState(@SW_SHOW, $Form1_1)
                Case $Button51
                Case $Button52
                Case $Button53
                Case $ButtonExit11
                        GUISetState(@SW_HIDE, $Form1_1)
                        GUISetState(@SW_SHOW, $Form1)
        EndSwitch
WEnd
发表于 2010-1-11 23:36:26 | 显示全部楼层
不错,学习了/谢谢楼上
发表于 2010-1-12 10:01:54 | 显示全部楼层
GUIOnevent模式就是一个很好的例子!
#include <GUIConstants.au3>
Opt("GUIOneventMode",1)
Dim $Button[6]

$WinMain  = GUICreate("主窗口", 450, 300)            ;创建主窗口
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")             ;注册窗口关闭事件到函数_Exit
$Button[0]  = GUICtrlCreateButton("显示子窗口 1", 0, 0, 113, 49)
$Button[1]  = GUICtrlCreateButton("显示子窗口 2", 216, 0, 105, 49)

$WinSub1  = GUICreate("子窗口", 220, 60)                ;创建子窗口1
GUISetOnEvent($GUI_EVENT_CLOSE, "GUICtrlMsg")           ;注册窗口关闭事件到函数GUICtrlMsg
$Button[2] = GUICtrlCreateButton("确认", 0, 0, 100, 50)
$Button[3] = GUICtrlCreateButton("取消", 110, 0, 100, 50);创建子窗口中按钮二

$WinSub2  = GUICreate("子窗口", 220, 60)                ;创建子窗口2
GUISetOnEvent($GUI_EVENT_CLOSE, "GUICtrlMsg")           ;注册窗口关闭事件到函数GUICtrlMsg
$Button[4] = GUICtrlCreateButton("确认", 0, 0, 100, 50)
$Button[5] = GUICtrlCreateButton("取消", 110, 0, 100, 50);创建子窗口中按钮二

For $I = 5 To 0 Step -1
        GUICtrlSetOnEvent($Button[$I],"GUICtrlMsg") ;注册总共的六个按钮点击事件到函数 GUICtrlMsg
                                                    ;请区分 GUISetOnEvent 和 GUICtrlSetOnEvent的区别
Next

GUISwitch($WinMain)                            ;切换当前窗口到主窗口
GUISetState(@SW_SHOW)                          ;显示当前窗口

While 1
        Sleep(1000)
WEnd

Func GUICtrlMsg()
        Switch @GUI_CtrlId;选择事件 ID 或 控件 ID
                Case $GUI_EVENT_CLOSE;如果点下的是$GUI_EVENT_CLOSE(关闭)
                        GUISetState(@SW_HIDE,@GUI_WinHandle);  隐藏产生事件的窗口
                Case $Button[0]
                        GUISetState(@SW_SHOW,$WinSub1);  显示 子窗口 1
                Case $Button[1]
                        GUISetState(@SW_SHOW,$WinSub2);  显示 子窗口 2
                Case $Button[2]
                        MsgBox(48,0,"你点了子窗口 1 中的第一个按钮")
                Case $Button[3]
                        GUISetState(@SW_HIDE,$WinSub1);  隐藏 子窗口 1
                Case $Button[4]
                        MsgBox(48,0,"你点了主窗口 2 中的第一个按钮")
                Case $Button[5]
                        GUISetState(@SW_HIDE,$WinSub2);  隐藏 子窗口 2
        EndSwitch
EndFunc

Func _Exit()
        Exit
EndFunc
发表于 2010-1-22 19:34:33 | 显示全部楼层
正学习中呢
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2025-1-12 10:06 , Processed in 0.074032 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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