函数参考


_GUICtrlStatusBar_SetParts

设置部件数量与边框

#Include <GuiStatusBar.au3>
_GUICtrlStatusBar_SetParts($hWnd[, $iaParts = -1[, $iaPartWidth = 25]])

参数

$hWnd 控件句柄
$iaParts [可选参数] 部件数量, 可以是一个 0 的数组,格式如下:
$iaParts[0] - 部件 #1 右边界
$iaParts[1] - 部件 #2 右边界
$iaParts[n] - 部件 #n 右边界
$iaPartWidth [可选参数] Size of parts, 可以是一个 0 的数组,格式如下:
$iaPartWidth[0] - 部件 #1 宽度
$iaPartWidth[1] - 部件 #2 宽度
$iaPartWidth[n] - 部件 #n 宽度

返回值

成功: 返回 True
失败: 返回 False

注意/说明

 如果某个元素为 -1,相应部件右边缘扩展到窗口的边界.

相关

_GUICtrlStatusBar_GetParts

示例/演示


#include <GUIConstantsEx.au3>
#include <GuiStatusBar.au3>
#include <WindowsConstants.au3>

$Debug_SB = False ; 检查传递给函数的类名, 设置为True并输出到一个控件的句柄,用于检查它是否工作

Global $iMemo

_Main()

Func _Main()

    Local $hGUI, $hStatus
    Local $aParts[3] = [75, 150, -1]

    ; 创建 GUI
    $hGUI = GUICreate("StatusBar Set Parts", 400, 300)
    $hStatus = _GUICtrlStatusBar_Create($hGUI)

    ; 创建 memo 控件
    $iMemo = GUICtrlCreateEdit("", 2, 2, 396, 274, $WS_VSCROLL)
    GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
    GUISetState()

    ; Set/Get parts
    _GUICtrlStatusBar_SetParts($hStatus, $aParts)
    $aParts = _GUICtrlStatusBar_GetParts($hStatus)
    For $iI = 1 To $aParts[0]
        MemoWrite("Part " & $iI & " width .: " & $aParts[$iI])
    Next

    ; 循环直到用户退出
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
EndFunc   ;==>_Main

; 写入消息到 memo
Func MemoWrite($sMessage = "")
    GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite