找回密码
 加入
搜索
查看: 10449|回复: 20

[AU3基础] (已解决)GUI 样式表 和 关闭按钮 以及 Radiobox check的问题

  [复制链接]
发表于 2010-8-21 18:33:37 | 显示全部楼层 |阅读模式
本帖最后由 yarsye 于 2010-8-24 10:46 编辑

情况是这样子的
问题 1 :开始我只用GuiCreate 没用样式表 , 关闭按钮是可以出来而且可以用 , 之后就不能出来和不能关闭了 。我试了把样式表拿掉就好了 , 而且 加了样式表后 GUI界面就不可以移动了 , 很奇怪。
问题 2 :为什么这个Radiobox 不可以多选 ?只能选择一个 !我差看了许久 ,不知道问题出在哪 ,望高手解救 。

感谢您的阅读 。
#include <GuiEdit.au3>
#include <Screencapture.au3>
#include <file.au3>
#include <GuiConstantsEx.au3>
#include <WindowsConstants.au3>

Opt("GUIOnEventMode", 1)  

Global $Formtitle=" Installation "  , $Ver = '1.0'
Global $boxleft = 30
Local $Form, $box1, $msg, $button1, $box2, $box3, $ch
$ch = 0

$Form1_1 = GUICreate($Formtitle , 421, 387, 193, 125,  BitOR ($WS_TABSTOP , $WS_POPUP) )
GUISetCursor (0)
GUISetFont(10, 800, 0, "MS Sans Serif")
GUISetBkColor(0xD8E4F8)
GUICtrlCreateLabel($Formtitle , 120, 10, 500, 33);Please select the Setup.exe Through OK Button.
$Radio1 = GUICtrlCreateRadio("", 80, 48, 33, 49)
GUICtrlSetCursor (-1, 0)
$Radio2 = GUICtrlCreateRadio("", 80, 88, 33, 49)
GUICtrlSetCursor (-1, 0)
$Radio3 = GUICtrlCreateRadio("", 80, 128, 33, 49)
GUICtrlSetCursor (-1, 0)
$Radio4 = GUICtrlCreateRadio("", 80, 168, 33, 49)
GUICtrlSetCursor (-1, 0)
$Radio5 = GUICtrlCreateRadio("", 80, 208, 33, 49)
GUICtrlSetCursor (-1, 0)
$Button1 = GUICtrlCreateButton("A", 128, 58, 200, 25, 0)
GUICtrlSetCursor (-1, 0)
$Button2 = GUICtrlCreateButton("B", 128, 98, 200, 25, 0)
GUICtrlSetCursor (-1, 0)
$Button3 = GUICtrlCreateButton("C", 128, 138, 200, 25, 0)
GUICtrlSetCursor (-1, 0)
$Button4 = GUICtrlCreateButton("D", 128, 182, 200, 25, 0)
GUICtrlSetCursor (-1, 0)
$Button5 = GUICtrlCreateButton("E", 128, 224, 200, 25, 0)
GUICtrlSetCursor (-1, 0)
$Radio6 = GUICtrlCreateRadio("", 80, 248, 33, 49)
GUICtrlSetCursor (-1, 0)
$Button6 = GUICtrlCreateButton("F", 128, 264, 200, 25, 0)
GUICtrlSetCursor (-1, 0)
$Button7 = GUICtrlCreateButton("OK", 140, 304, 150, 33, 0);left, top , width , height 
GUICtrlSetBkColor(-1, 0xFFFF00)
$Group1 = GUICtrlCreateGroup("", 48, 40, 337, 257)
GUISetState(@SW_SHOW)


GUISetOnEvent($GUI_EVENT_CLOSE,"_Exit")

GUICtrlSetOnEvent($Button7 , "Button1Event")

While 1
        $msg = GUIGetMsg()
        Select
                Case $msg = $GUI_EVENT_CLOSE
                        ExitLoop
                Case $msg = $button7
                        Radio_check()
        EndSelect
WEnd


Func Radio_check()
        For $i = 1 To 5
                $ch = "Radio" & $i
                        If GUICtrlRead(Eval($ch)) = $GUI_UNCHECKED Then  
                                        
                                MsgBox(0, 0, $ch & 'unchecked')
                                
                        EndIf
                                                
                        If GUICtrlRead(Eval($ch)) = $GUI_CHECKED Then 
                                ;Call($ch)
                                        MsgBox(0, 0, $ch & 'checked')
                        EndIf
        Next
EndFunc  
        
Func _Exit()
        Exit
EndFunc

Func Button1Event()

Local $Button1Fun
Local $hEdit1
$Button1Fun=FileOpenDialog("Browse the file",@WindowsDir & "","All(*.*)");Finding Browse file Location
;$hEdit1=ControlGetHandle("","",14);deal with file
;_GUICtrlEdit_setText($hEdit1,$Button1Fun)
ShellExecute($Button1Fun)
EndFunc

评分

参与人数 1金钱 +10 收起 理由
afan + 10 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2010-8-21 21:22:47 | 显示全部楼层
1.请把样式改成
$Form1_1 = GUICreate($Formtitle , 421, 387, 193, 125 ,  BitOR ($WS_TABSTOP , $WS_POPUP,$WS_MINIMIZEBOX,$WS_CAPTION,$WS_POPUP,$WS_SYSMENU))
2.多选为什么不用
GUICtrlCreateCheckbox

评分

参与人数 1金钱 +20 收起 理由
afan + 20

查看全部评分

发表于 2010-8-22 10:51:22 | 显示全部楼层
gui学习中, guicreate
 楼主| 发表于 2010-8-22 12:54:01 | 显示全部楼层
回复 2# ivanpg

你的建议我已收到 感谢你的回复
但是1.对于那个头部 我觉得不太好看 要是能拿掉或者换种模样 同时能移动 AND 最大化最小化 按钮也都在 那就完美了 ,估计这样的话 只能改变顶部框的样式吧
2.换成checkbox后 是可以多选 ,但是不完美的是 有个虚线框 。我试了那个guictrlcreateradio也有那个虚线框 ,不太好看。

发现个新问题 点击Star按钮有问题
发表于 2010-8-22 17:55:43 | 显示全部楼层
本帖最后由 131738 于 2010-8-22 18:01 编辑

这个 http://www.autoitx.com/thread-17587-1-1.html 的窗口就是自己添加标题栏,并自添加关闭 “ X  ”符号按钮的

你可以用你的
GUICtrlCreateLabel($Formtitle , 120, 10, 500, 33);Please select the Setup.exe Through OK Button. 这个标签修改,
“ X “符号能自添加,最大、最小也应该可以吧,只是分析那个代码费事点。。。。
发表于 2010-8-22 18:00:01 | 显示全部楼层
Radiobox 这个本来就叫单选框吧。。。。。
发表于 2010-8-22 18:48:03 | 显示全部楼层
$Label0 = GUICtrlCreateLabel ( "X", 410, 0, 50, 50)
GUICtrlSetOnEvent ( $Label0, "_Exit" )
这样就可以退出了
发表于 2010-8-22 18:55:28 | 显示全部楼层
GUICtrlCreateLabel($Formtitle , 120, 10, 200, 33,"",$GUI_WS_EX_PARENTDRAG)
这样就可以移动了

评分

参与人数 1金钱 +30 收起 理由
afan + 30

查看全部评分

发表于 2010-8-22 18:58:07 | 显示全部楼层

本帖子中包含更多资源

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

×
 楼主| 发表于 2010-8-23 08:38:22 | 显示全部楼层
回复 9# 131738


哇 !!!!
您太有才了!!!!
爱死你了!!!
崇拜中。。。。。
 楼主| 发表于 2010-8-23 09:25:33 | 显示全部楼层
回复 8# 131738

我又看了一遍 Help File 找到了 “扩展样式 $GUI_WS_EX_PARENTDRAG 可以允许拖动没有标题栏的父窗口 (也就是创建的 GUI 没有 $WS_CAPTION 样式). ” 我也没用 $ws-caption样式啊 , 可是还是不能拖动 。
    $Form1_1 = GUICreate($Formtitle , 421, 387, 193, 125,   $WS_POPUP)
GUICtrlCreateLabel($Formtitle , 120, 10, 200, 33,"",$GUI_WS_EX_PARENTDRAG)

这样在我机器上试了很多次 都不行不知道为什么
发表于 2010-8-23 13:56:12 | 显示全部楼层
回复 11# yarsye

“扩展样式 $GUI_WS_EX_PARENTDRAG 可以允许拖动没有标题栏的父窗口 (也就是创建的 GUI 没有 $WS_CAPTION 样式). ”

原文为“Allow the label or pic control to be used as the title bar to drag the whole the parent window.”金山翻译为“允许标签或PIC控件作为标题栏拖动整个父窗口”,没有你说的后半句啊。。。
发表于 2010-8-23 13:57:39 | 显示全部楼层
回复 11# yarsye


要按住标签才能拖动的。。。
 楼主| 发表于 2010-8-23 13:59:13 | 显示全部楼层
回复 12# 131738


   我那个后半句是从帮助文档里看到的  你在帮助文档搜索里输入 GUICtrlCreateLabel  看下面的注释就可以找到
发表于 2010-8-23 14:07:38 | 显示全部楼层
回复  131738


   我那个后半句是从帮助文档里看到的  你在帮助文档搜索里输入 GUICtrlCreateLabel  看 ...
yarsye 发表于 2010-8-23 13:59





以样式列表的说明为准吧。。。。。

本帖子中包含更多资源

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

×
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-29 00:58 , Processed in 0.135275 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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