ステータスウィンドウの指定されたパーツのテキストを設定します。
#Include <GuiStatusBar.au3>
_GUICtrlStatusBar_SetText($hWnd, $sText = "", $iPart = 0, $iUFlag = 0)
パラメータ
$hWnd | コントロールのハンドル |
$sText | パーツに表示されるテキスト |
$iPart | テキストを保持するパーツ |
$iUFlag | 描画操作の種類。次の値のいずれかです: 0 - テキストはウィンドウ平面よりも低く見える境界と共に描画されます $SBT_NOBORDERS - テキストは境界なしに描画されます $SBT_OWNERDRAW - テキストは親ウィンドウによって描画されます $SBT_POPOUT - テキストはウィンドウ平面よりも高く見える境界と共に描画されます $SBT_RTLREADING - テキストは親ウィンドウのテキストとは逆向きに表示されます |
返し値
成功: | True |
失敗: | False |
注意
シンプルステータスバーでは$iPartに$SB_SIMPLEIDを設定してください。
関連
_GUICtrlStatusBar_GetText
例
#include <GuiConstantsEx.au3>
#include <GuiStatusBar.au3>
#include <WinAPI.au3>
#include <WindowsConstants.au3>
Opt('MustDeclareVars', 1)
$Debug_SB = False ; 関数に渡されるClassNameを調べる。動作を確認するにはTrueを設定し、他のコントロールのハンドルを使用
Global $iMemo
Example1()
Example2()
Func Example1()
Local $hGUI, $hIcons[2], $hStatus
Local $aParts[4] = [75, 150, 300, 400]
; GUIを作成
$hGUI = GUICreate("(Example 1) StatusBar Set Text", 400, 300)
$hStatus = _GUICtrlStatusBar_Create ($hGUI)
; メモコントロールを作成
$iMemo = GUICtrlCreateEdit("", 2, 2, 396, 274, $WS_VSCROLL)
GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
GUISetState()
; パーツを設定
_GUICtrlStatusBar_SetParts ($hStatus, $aParts)
_GUICtrlStatusBar_SetText ($hStatus, "Part 1")
_GUICtrlStatusBar_SetText ($hStatus, "Part 2", 1)
; アイコンを設定
$hIcons[0] = _WinAPI_LoadShell32Icon (23)
$hIcons[1] = _WinAPI_LoadShell32Icon (40)
_GUICtrlStatusBar_SetIcon ($hStatus, 0, $hIcons[0])
_GUICtrlStatusBar_SetIcon ($hStatus, 1, $hIcons[1])
; パーツのテキストを表示
MemoWrite("Part 1 text ........: " & _GUICtrlStatusBar_GetText ($hStatus, 0))
MemoWrite("Part 2 text ........: " & _GUICtrlStatusBar_GetText ($hStatus, 1))
; アイコンハンドルを表示
MemoWrite("Part 1 icon handle .: 0x" & Hex(_GUICtrlStatusBar_GetIcon ($hStatus, 0)))
MemoWrite("Part 2 icon handle .: 0x" & Hex(_GUICtrlStatusBar_GetIcon ($hStatus, 1)))
; ユーザーが終了するまでループ
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
; アイコンを解放
_WinAPI_DestroyIcon ($hIcons[0])
_WinAPI_DestroyIcon ($hIcons[1])
GUIDelete()
EndFunc ;==>Example1
Func Example2()
Local $hGUI, $hStatus
Local $aParts[4] = [75, 150, 300, 400]
; GUIを作成
$hGUI = GUICreate("(Example 2) StatusBar Set Text", 400, 300)
$hStatus = _GUICtrlStatusBar_Create ($hGUI)
; メモコントロールを作成
$iMemo = GUICtrlCreateEdit("", 2, 2, 396, 274, $WS_VSCROLL)
GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
GUISetState()
; パーツを設定
_GUICtrlStatusBar_SetParts ($hStatus, $aParts)
_GUICtrlStatusBar_SetText ($hStatus, "Part 1")
_GUICtrlStatusBar_SetText ($hStatus, "Part 2", 1)
; アイコンを設定
_GUICtrlStatusBar_SetIcon ($hStatus, 0, 23, "shell32.dll")
_GUICtrlStatusBar_SetIcon ($hStatus, 1, 40, "shell32.dll")
; パーツのテキストを表示
MemoWrite("Part 1 text ........: " & _GUICtrlStatusBar_GetText ($hStatus, 0))
MemoWrite("Part 2 text ........: " & _GUICtrlStatusBar_GetText ($hStatus, 1))
; アイコンハンドルを表示
MemoWrite("Part 1 icon handle .: 0x" & Hex(_GUICtrlStatusBar_GetIcon ($hStatus, 0)))
MemoWrite("Part 2 icon handle .: 0x" & Hex(_GUICtrlStatusBar_GetIcon ($hStatus, 1)))
; ユーザーが終了するまでループ
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
GUIDelete()
EndFunc ;==>Example2
; メモ帳にメッセージを書き込む
Func MemoWrite($sMessage = "")
GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc ;==>MemoWrite