设置控件用于识别带区的值,以便于通知客户自定义绘制带区
#Include <GuiRebar.au3>
_GUICtrlRebar_SetBandID($hWnd, $iIndex, $iID)
$hWnd | 伸缩条控件句柄 |
$iIndex | 带区的 0 基索引 |
$iID | 用于识别带区的值 |
成功: | 返回 True |
失败: | 返回 False |
#include <GUIConstantsEx.au3>
#include <GuiReBar.au3>
#include <GuiToolbar.au3>
#include <GuiComboBox.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
$Debug_RB = False
Global $iMemo
_Main()
Func _Main()
Local $hgui, $btnExit, $hReBar, $hToolbar, $hCombo, $hInput
Local Enum $idNew = 1000, $idOpen, $idSave, $idHelp
$hgui = GUICreate("Rebar", 400, 396, -1, -1, BitOR($WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU, $WS_MAXIMIZEBOX))
; create the rebar control
$hReBar = _GUICtrlRebar_Create($hgui, BitOR($CCS_TOP, $WS_BORDER, $RBS_VARHEIGHT, $RBS_AUTOSIZE, $RBS_BANDBORDERS))
$iMemo = GUICtrlCreateEdit("", 2, 100, 396, 250, $WS_VSCROLL)
GUICtrlSetFont($iMemo, 10, 400, 0, "Courier New")
; create a combobox to put in the rebar
$hCombo = _GUICtrlComboBox_Create($hgui, "", 0, 0, 120)
_GUICtrlComboBox_BeginUpdate($hCombo)
_GUICtrlComboBox_AddDir($hCombo, @WindowsDir & "\*.exe")
_GUICtrlComboBox_EndUpdate($hCombo)
; create a toolbar to put in the rebar
$hToolbar = _GUICtrlToolbar_Create($hgui, BitOR($TBSTYLE_FLAT, $CCS_NORESIZE, $CCS_NOPARENTALIGN))
; 添加标准系统位图
Switch _GUICtrlToolbar_GetBitmapFlags($hToolbar)
Case 0
_GUICtrlToolbar_AddBitmap($hToolbar, 1, -1, $IDB_STD_SMALL_COLOR)
Case 2
_GUICtrlToolbar_AddBitmap($hToolbar, 1, -1, $IDB_STD_LARGE_COLOR)
EndSwitch
; 添加按钮
_GUICtrlToolbar_AddButton($hToolbar, $idNew, $STD_FILENEW)
_GUICtrlToolbar_AddButton($hToolbar, $idOpen, $STD_FILEOPEN)
_GUICtrlToolbar_AddButton($hToolbar, $idSave, $STD_FILESAVE)
_GUICtrlToolbar_AddButtonSep($hToolbar)
_GUICtrlToolbar_AddButton($hToolbar, $idHelp, $STD_HELP)
; create a input box to put in the rebar
$hInput = GUICtrlCreateInput("Input control", 0, 0, 120, 20)
; add band containing the control to the begining of rebar
_GUICtrlRebar_AddToolBarBand($hReBar, $hToolbar)
;add band containing the control
_GUICtrlRebar_AddBand($hReBar, GUICtrlGetHandle($hInput), 120, 200, "Name:")
;add band containing the control
_GUICtrlRebar_AddBand($hReBar, $hCombo, 120, 200, "Dir " & @WindowsDir & "\*.exe:")
_GUICtrlRebar_SetBandBackColor($hReBar, 1, Int(0x00008B))
_GUICtrlRebar_SetBandForeColor($hReBar, 1, Int(0xFFFFFF))
$btnExit = GUICtrlCreateButton("Exit", 150, 360, 100, 25)
GUICtrlSetState($btnExit, $GUI_DEFBUTTON)
GUICtrlSetState($btnExit, $GUI_FOCUS)
GUISetState(@SW_SHOW)
_GUICtrlRebar_SetBandID($hReBar, 0, 2246)
MemoWrite("Moved Band Index 0 -> 2: " & _GUICtrlRebar_MoveBand($hReBar, 0, 2))
For $x = 0 To _GUICtrlRebar_GetBandCount($hReBar) - 1
MemoWrite("============================================")
MemoWrite("Band Index " & $x & @TAB & "ID: " & _GUICtrlRebar_GetBandID($hReBar, $x))
Next
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE, $btnExit
Exit
EndSwitch
WEnd
EndFunc ;==>_Main
; 写入消息到 memo
Func MemoWrite($sMessage = "")
GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc ;==>MemoWrite