Spaltenbreite anpassen GUICtrlCreateListView

  • Hallo zusammen

    gibt es eine Möglichkeit die Spaltenbreite den Inhalten von GuiCtrlCreateListViewItem anzupassen nach dem Einfügen.

    In meinem Beispiel soll die Spalte Name dem Inhalt von "Hackenschmidt-Zimmermann" am Schluss angepasst werden.

    Spoiler anzeigen

    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>

    GUICreate("",800,500,100,100)

    $button1 = GUICtrlCreateButton("Start",10,20,100,30)
    $button__exit = GUICtrlCreateButton("Exit",700,350,50,30)
    $listview = GUICtrlCreateListView("Name|Vorname|Ort",150,20,600,300,$LVS_REPORT)

    GUISetState(@SW_SHOW)

    While 1
    $msg = GUIGetMsg()

    If $msg = $GUI_EVENT_CLOSE Then ExitLoop

    Select
    Case $msg = $button1
    GUICtrlCreateListViewItem("Meier",$listview)
    GUICtrlCreateListViewItem("Müller",$listview)
    GUICtrlCreateListViewItem("Hackenschmidt-Zimmermann",$listview)
    GUICtrlCreateListViewItem("Bruchhagen",$listview)
    GUICtrlCreateListViewItem("Steinmeier",$listview)
    Case $msg = $button__exit
    Exit
    EndSelect
    WEnd

    Gruss
    johny

    Einmal editiert, zuletzt von johny1099 (22. Mai 2011 um 12:04)

  • Ich würde einfach die Buchstaben zählen und dann hochrechnen, wie lang die Zeile in etwa sein muss. ;)

    Alternativ könnte man natürlich sicherlich für jeden Buchstaben die tatsächliche Breite in Pixeln bestimmen und dann einrechnen, aber die erste Lösung erscheint mir sinniger. ;)

  • Probiere es mal damit:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <GuiListView.au3>
    #include <ListViewConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    GUICreate("",800,500,100,100)

    [/autoit] [autoit][/autoit] [autoit]

    $button1 = GUICtrlCreateButton("Start",10,20,100,30)
    $button__exit = GUICtrlCreateButton("Exit",700,350,50,30)
    $listview = GUICtrlCreateListView("Name|Vorname|Ort",150,20,600,300,$LVS_REPORT)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $msg = GUIGetMsg()

    [/autoit] [autoit][/autoit] [autoit]

    If $msg = $GUI_EVENT_CLOSE Then ExitLoop

    [/autoit] [autoit][/autoit] [autoit]

    Select
    Case $msg = $button1
    GUICtrlCreateListViewItem("Meier",$listview)
    GUICtrlCreateListViewItem("Müller",$listview)
    GUICtrlCreateListViewItem("Hackenschmidt-Zimmermann",$listview)
    GUICtrlCreateListViewItem("Bruchhagen",$listview)
    GUICtrlCreateListViewItem("Steinmeier",$listview)
    _GUICtrlListView_SetColumnWidth($listview, 0, $LVSCW_AUTOSIZE)
    Case $msg = $button__exit
    Exit
    EndSelect
    WEnd

    [/autoit]

    Gruß,
    UEZ

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯