Function Reference

_GUICtrlListView_GetStringWidth

指定された文字列の幅を判定します。

#Include <GuiListView.au3>
_GUICtrlListView_GetStringWidth($hWnd, $sString)

 

パラメータ

$hWnd コントロールのハンドル
$sString 幅を計算される文字列

 

返し値

成功: 文字列の幅
失敗: 0

 

注意

この関数は指定された文字列の正確な幅をピクセル単位で返します。
返された文字列幅を列幅としてSetColumnWidth関数で使用すると文字列は切り捨てられます。
切り捨てなしに文字列を表示できる列の幅を取得するには返された文字列に余白を追加する必要があります。

 

関連

 


#AutoIt3Wrapper_au3check_parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
#include <GuiConstantsEx.au3>
#include <GuiListView.au3>

Opt('MustDeclareVars', 1)

$Debug_LV = False ; ListView関数に渡されるClassNameを調べる。動作を確認するにはTrueを設定し、他のコントロールのハンドルを使用

_Main()

Func _Main()
    Local $hListView
   
    GUICreate("ListView Get String Width", 400, 300)
    $hListView = GUICtrlCreateListView("", 2, 2, 394, 268, BitOR($LVS_SHOWSELALWAYS, $LVS_REPORT))
    GUISetState()

    ; 列を追加
    _GUICtrlListView_AddColumn($hListView, "Column 1", 100)

    ; アイテムを追加
    _GUICtrlListView_AddItem($hListView, "Item 1")
    _GUICtrlListView_AddItem($hListView, "Item 2")
    _GUICtrlListView_AddItem($hListView, "Item 3")

    ; 文字列の幅を取得
    MsgBox(4160, "Information", 'Width of "Test": ' & _GUICtrlListView_GetStringWidth($hListView, "Test"))

    ; ユーザーが終了するまでループ
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
EndFunc   ;==>_Main