Function Reference

GUICtrlCreateListView

GUI用のリストビューコントロールを作成します。

GUICtrlCreateListView ( "text", left, top [, width [, height [, style [, exStyle]]]] )

 

パラメータ

text 列の見出しを定義します。各見出しはOpt("GUIDataSeparatorChar")で区切ります。
left コントロールの左端。-1を使用するとGUICoordModeに基づいて左端位置が計算されます。
top コントロールの上端。-1を使用するとGUICoordModeに基づいて上端位置が計算されます。
width [オプション] コントロールの幅(デフォルトは最後に使用された幅)。
height [オプション] コントロールの高さ(デフォルトは最後に使用された高さ)。
style [オプション] コントロールのスタイルを定義。GUIコントロールスタイル付録を参照。

デフォルト (-1) : $LVS_SHOWSELALWAYS、$LVS_SINGLESEL
強制適用されるスタイル : $LVS_REPORT
exStyle [オプション] コントロールの拡張スタイルを定義。拡張スタイル表リストビュー拡張スタイル表を参照。

 

返し値

成功 新しく作成したコントロールの識別子(コントロールID)を返します。
失敗 0を返します。

 

注意

リストビューコントロールにアイテムを追加するにはGUICtrlCreateListViewItemを使用します。

デフォルトではリストビューはエクスプローラ表示の"詳細"と同様の表示になります(LVS_REPORTスタイルが強制適用)。
列の初期サイズは列見出し定義に穴埋め用の空白をいれることで調整できます。列はGUICtrlCreateListViewItemを使用時にアイテムサイズに合わせて広げられます。列のサイズは最大で約25文字分です。GUICtrlSetDataでの更新時にサイズ変更はおこなわれません。

アイコンスタイル、スモールアイコンスタイル、リストスタイルのリストビューを作成する場合は、リストビューの作成後、
GUICtrlSetStyleを使用して$LVS_ICON、$LVS_LIST、$LVS_SMALLICONのスタイルを設定します。

(エクスプローラのような)列名のクリックによるリストのソートは現在のところ実装されていません。

行全体の選択表示をおこなうには拡張スタイルのLVS_EX_FULLROWSELECTを使用します。

デフォルトスタイルに他のスタイルを組み合わせる場合はBitOr($GUI_SS_DEFAULT_LISTVIEW, newstyle,...)を使用してください。

上で指定されている値を使用するためにはスクリプトに#include <ListViewConstants.au3>と書く必要があります。

特殊フラグの$GUI_BKCOLOR_TRANSPARENTをリストビューコントロールに使用することで、リストビューアイテムのラインの背景色を交互にかわるように設定できます。
奇数番目のラインはGUICtrlSetBkColorでリストビューコントロールに設定された色になります。
偶数番目のラインはGUICtrlSetBkColorでリストビューアイテムコントロールに設定された色になります。

 

関連

GUICtrlCreateListViewItem, GUICtrlRegisterListViewSort, GUICoordMode (Option), GUICtrlSetData, GUIGetMsg, GUIDataSeparatorChar (Option)

 


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

Opt('MustDeclareVars', 1)

Example()

Func Example()
    Local $listview, $button, $item1, $item2, $item3, $input1, $msg
   
    GUICreate("listview items", 220, 250, 100, 200, -1, $WS_EX_ACCEPTFILES)
    GUISetBkColor(0x00E0FFFF)  ; 背景色を変更

    $listview = GUICtrlCreateListView("col1  |col2|col3  ", 10, 10, 200, 150);,$LVS_SORTDESCENDING)
    $button = GUICtrlCreateButton("Value?", 75, 170, 70, 20)
    $item1 = GUICtrlCreateListViewItem("item2|col22|col23", $listview)
    $item2 = GUICtrlCreateListViewItem("item1|col12|col13", $listview)
    $item3 = GUICtrlCreateListViewItem("item3|col32|col33", $listview)
    $input1 = GUICtrlCreateInput("", 20, 200, 150)
    GUICtrlSetState(-1, $GUI_DROPACCEPTED)   ; ドラッグアンドドロップ許可
    GUISetState()
    GUICtrlSetData($item2, "ITEM1")
    GUICtrlSetData($item3, "||COL33")
    GUICtrlDelete($item1)

    Do
        $msg = GUIGetMsg()
       
        Select
            Case $msg = $button
                MsgBox(0, "listview item", GUICtrlRead(GUICtrlRead($listview)), 2)
            Case $msg = $listview
                MsgBox(0, "listview", "clicked=" & GUICtrlGetState($listview), 2)
        EndSelect
    Until $msg = $GUI_EVENT_CLOSE
EndFunc   ;==>Example