GUICtrlSetState
调整控件状态.
GUICtrlSetState ( controlID, state )
参数
返回值
备注
State
|
注释
|
$GUI_CHECKED (1)
|
单选框(Radio), 复选框(Checkbox)或 ListViewItem(列表视图项目) 选中
|
$GUI_INDETERMINATE (2)
|
三态属性的复选框(Checkbox)将转换为灰色状态
|
$GUI_UNCHECKED (4)
|
单选框(Radio), 复选框(Checkbox)或 ListViewItem(列表视图项目) 非选中
|
$GUI_DROPACCEPTED (8)
|
控件接受文件或其它控件拖放操作的放下操作. 见备注
|
$GUI_SHOW (16)
|
显示控件. 对于标签选项卡控件, 则显示第一个标签页
|
$GUI_HIDE (32)
|
隐藏控件
|
$GUI_ENABLE (64)
|
启用控件
|
$GUI_DISABLE (128)
|
控件转换为灰色(不可用)状态
|
$GUI_FOCUS (256)
|
控件获得输入/选择焦点
|
$GUI_DEFBUTTON (512)
|
控件设置为窗口的默认按钮. 参考 TreeviewItems 备注
|
$GUI_EXPAND (1024)
|
TreeViewItem(树视图项目)控件展开子项目
|
$GUI_ONTOP (2048)
|
控件拥有相对于窗口的置顶(Z 轴)属性
|
$GUI_NODROPACCEPTED (4096)
|
控件不接受拖放操作的放下操作
|
$GUI_NOFOCUS (8192)
|
Listview 控件释放焦点
|
$GUI_AVISTART (0)
|
Avi 控件开始播放
|
$GUI_AVISTOP (1)
|
Avi 控件停止播放
|
$GUI_AVICLOSE (2)
|
Avi 控件停止播放并释放资源
|
状态值可以相加使用,比如 $GUI_DISABLE (128) + $GUI_HIDE (32) 使控件禁用并隐藏.
如果 AVI 控件使用 $GUI_HIDE (32) 为隐藏状态, 应该使用 $GUI_AVICLOSE (1) 关闭它.
不能修改上下文菜单控件的状态.
如果 "列表视图项目" 控件有 $LVS_EX_CHECKBOXES 扩展样式, 则关联的 "列表视图项目" 的状态可以改变.
$GUI_FOCUS (256) 与 $GUI_NOFOCUS (8192) 可用于特定的列表视图项目, 但列表视图控件需具有 $LVS_SHOWSELALWAYS 样式以显示焦点状态.
不能隐藏"菜单"或"菜单项".
! 状态 $GUI_EXPAND 仅适用于树视图项目. 且必须存在或创建至少一个树视图项目 !
如果要在树视图选择另一个项目, 则可以使用 $GUI_FOCUS (256), 使父层树视图获得焦点, 并将指定项目标记为选中.
要设定树视图项目文本为粗体, 可以使用 $GUI_DEFBUTTON (512);
要关掉粗体效果, 则使用另一个值(例如 0)代替 $GUI_DEFBUTTON (512). 这个状态将不能被 GUICtrlGetState() 返回.
如果将 $GUI_DROPACCEPTED (8) 设置到可见控件, 则该控件能接受拖放操作. 编辑/输入控件将显示(拖放操作)的文件名.
其他控件接收 $GUI_EVENT_DROPPED 消息时,@GUI_DragId 将返回拖动开始的控件 ID
(如果是文件则返回 -1 ,@GUI_DragFile 包含被拖动的文件名), 并且 @GUI_DropId 返回接受拖动的控件 ID.
仅在拖动 ListviewItem 时会启动拖放进程, @GUI_DragId 将存放 ListView 控件 ID.
相关
GUICtrlCreate..., GUICtrlGetState
函数示例
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Example()
Func Example()
; Create a GUI with various controls.
Local $hGUI = GUICreate("Example", 420, 200, -1, -1, -1, $WS_EX_ACCEPTFILES)
; Create a label and set the state as drop accepted.
Local $idLabel = GUICtrlCreateLabel("Drop a file on this label.", 10, 10, 400, 40, $WS_BORDER)
GUICtrlSetState($idLabel, $GUI_DROPACCEPTED)
; Create an input and set the state as drop accepted.
Local $idInput = GUICtrlCreateInput("", 10, 60, 400, 22)
GUICtrlSetState($idInput, $GUI_DROPACCEPTED)
Local $idOK = GUICtrlCreateButton("OK", 310, 170, 85, 25)
; Display the GUI.
GUISetState(@SW_SHOW, $hGUI)
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE, $idOK
ExitLoop
Case $GUI_EVENT_DROPPED
; If the value of @GUI_DropId is $idLabel, then set the label of the dragged file.
If @GUI_DropId = $idLabel Then GUICtrlSetData($idLabel, @GUI_DragFile)
EndSwitch
WEnd
; Delete the previous GUI and all controls.
GUIDelete($hGUI)
EndFunc ;==>Example
----------------------------------------
|