コントロールに子コントロールを埋め込みます。
#Include <GuiStatusBar.au3>
_GUICtrlStatusBar_EmbedControl($hWnd, $iPart, $hControl[, $iFit = 4])
パラメータ
$hWnd | コントロールのハンドル |
$iPart | ゼロ始まりのパーツインデックス |
$hControl | パネルに埋め込まれるコントロールのハンドル |
$iFit | [オプション]コントロールの調整方法を指定します。次のものの組み合わせです: 1 - コントロールを水平方向に中央よせします 2 - コントロールを垂直方向に中央よせします 4 - コントロールをステータスバー部分に合わせます |
返し値
なし。
注意
ステータスバーには通常のプログレスバーだけでなく任意のコントロールを埋め込めます。
関連
例
#include <GuiConstantsEx.au3>
#include <GuiStatusBar.au3>
#include <ProgressConstants.au3>
#include <SendMessage.au3>
Opt('MustDeclareVars', 1)
$Debug_SB = False ; 関数に渡されるClassNameを調べる。動作を確認するにはTrueを設定し、他のコントロールのハンドルを使用
_Main()
Func _Main()
Local $hGUI, $hProgress, $hInput, $input, $progress, $hStatus
Local $aParts[4] = [80, 160, 300, -1]
; GUIを作成
$hGUI = GUICreate("StatusBar Embed Control", 400, 300)
;===============================================================================
; デフォルト 1パーツ、テキストなし
$hStatus = _GUICtrlStatusBar_Create ($hGUI)
_GUICtrlStatusBar_SetMinHeight ($hStatus, 20)
;===============================================================================
GUISetState()
; パーツを初期化
_GUICtrlStatusBar_SetParts ($hStatus, $aParts)
_GUICtrlStatusBar_SetText ($hStatus, "Part 1")
_GUICtrlStatusBar_SetText ($hStatus, "Part 2", 1)
; プログレスバーを埋め込み
If @OSTYPE = "WIN32_WINDOWS" Then
$progress = GUICtrlCreateProgress(0, 0, -1, -1, $PBS_SMOOTH)
$hProgress = GUICtrlGetHandle($progress)
_GUICtrlStatusBar_EmbedControl ($hStatus, 2, $hProgress)
Else
$progress = GUICtrlCreateProgress(0, 0, -1, -1, $PBS_MARQUEE) ; marquee works on Win XP and above
$hProgress = GUICtrlGetHandle($progress)
_GUICtrlStatusBar_EmbedControl ($hStatus, 2, $hProgress)
_SendMessage($hProgress, $PBM_SETMARQUEE, True, 200) ; marquee works on Win XP and above
EndIf
$input = GUICtrlCreateInput("This is Embeded", 0, 0)
$hInput = GUICtrlGetHandle($input)
_GUICtrlStatusBar_EmbedControl ($hStatus, 3, $hInput, 3)
; ユーザーが終了するまでループ
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
GUIDelete()
EndFunc ;==>_Main