ListView Problem

  • Hey Jungs, ich möchte dass der in einer ListView in 1ner Zeile 2 verschiedene sachen per 2 vercshiedene buttons macht


    [autoit]


    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form2 = GUICreate("Form2", 413, 298, 302, 218)
    $ListView1 = GUICtrlCreateListView("|", 170, 88, 104, 150)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 50)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 50)
    $Button1 = GUICtrlCreateButton("Button1", 96, 88, 75, 25, $WS_GROUP)
    $Button2 = GUICtrlCreateButton("Button2", 96, 214, 75, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    Case $Button1
    ;1 Spalte eintrag

    Case $Button2
    ;2 Spalte und gleiche Zeile Button 1 eintrag

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

    EndSwitch
    WEnd

    [/autoit]

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

  • hahah, jetzt merke ich es:

    Es macht einen eintrag, in das script, also in die ListView, steht im script O_O

    Es soll also bei Button1 auf die erste zeile spalte 1 meinetwegen 1 schreiben, und auf die 1te zeile spalte 2 meinetwegen 2

    ALLERDINGS soll mit einem Knopfdruck auf Button3 (neu hinzugefügt) eine neue Zeile angefangen werden O_O

    [autoit]


    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form2 = GUICreate("Form2", 413, 298, 302, 218)
    $ListView1 = GUICtrlCreateListView("|", 170, 88, 104, 150)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 50)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 50)
    $Button1 = GUICtrlCreateButton("Button1", 96, 88, 75, 25, $WS_GROUP)
    $Button2 = GUICtrlCreateButton("Button2", 96, 214, 75, 25, $WS_GROUP)
    $Button3 = GUICtrlCreateButton("Button3", 274, 148, 75, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

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

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

  • Wozu willst du denn bei Button3 eine neue Zeile anfangen. Hat doch gar kein Sinn?? Machts doch automatisch.
    Das einfügen geht so. Ich weiß zwar nicht ob du das meinst, aber egal.

    Spoiler anzeigen
    [autoit]

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

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

    #Region ### START Koda GUI section ### Form=
    $Form2 = GUICreate("Form2", 413, 298, 302, 218)
    $ListView1 = GUICtrlCreateListView("1|2", 170, 88, 104, 150)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 50)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 50)
    $Button1 = GUICtrlCreateButton("Button1", 96, 88, 75, 25, $WS_GROUP)
    $Button2 = GUICtrlCreateButton("Button2", 96, 214, 75, 25, $WS_GROUP)
    $Button3 = GUICtrlCreateButton("Button3", 274, 148, 75, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    GUICtrlCreateListViewItem("1|2", $ListView1)
    EndSwitch
    WEnd

    [/autoit]
  • Hallo EliteMatthias,

    in der Hilfe unter GuiListView Benutzerdefinierte Funktion Referenz|GuiListView Benutzerdefinierte Funktion Referenz findest du die notwendigen Funktionen z.B.

    [autoit]

    _GUICtrlListView_InsertItem

    [/autoit]

    auch

    [autoit]

    GuiCtrlCreateListViewItem

    [/autoit]

    kann sehr nützlich sein,

    mfg (Auto)Bert

  • @Bert, diese Funktionen kenne ich -.- <.<

    Ich nehme mal ein Spiel als BSP:

    Stadt-Land-Fluss

    Man klickt auf Stadt und in Spalte Stadt Zeil 1 wird die Stadt eingetragen
    Man klickt auf Land und in Spalte Land Zeile 1 wird das Land eingetragen
    Man klickt auf Fluss un in Spalte Fluss Zeile 1 wird der Fluss eingetragen

    Man klickt auf "neues Spiel", und eine neue Zeile wird angefangen

    für neues game usw weiß ich alles, mir geht es nur um die list view...

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

  • ich glaub das geht nur indem du den eintrag überschreibst / löschst.

    sprich musst du dir "stadt" erstmal rauslesen und dann als neues Item mit der zusatzinfo "land" / "fluss" anlegen

    greetz Blade

    Weil Denken die schwerste Arbeit ist, die es gibt, beschäftigen sich auch nur wenige damit.

  • Dann erzeuge bei jeder neuen Spielrunde mit

    [autoit]

    GuiCtrlListviewItem

    [/autoit]

    eine neue Zeile, diese werden ja automatisch am Ende angehängt. Danach kannst du mit

    [autoit]

    GuiCtrlSetData

    [/autoit]

    das ganze als Rohgerüst für Stadt,Land,Fluss sähe dann so aus:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    #region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 357, 166, 192, 124)
    $ListView = GUICtrlCreateListView("Stadt|Land|Fluss", 0, 0, 353, 135)
    $Neu = GUICtrlCreateButton("&Neu", 120, 140, 113)
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Neu
    $LVItem = GUICtrlCreateListViewItem("Stadt|Land|Fluss",$ListView)
    $Stadt = InputBox("Stadt, Land Fluss Buchstabe ", "Bitte Stadt eingeben","","",200,50,-1,-1,20,$Form1)
    ;ConsoleWrite($Stadt & @CRLF)
    GuiCtrlSetData($LVItem,$Stadt & "Land|Fluss")
    $Land = InputBox("Stadt, Land Fluss Buchstabe ","Bitte Land eingeben","","",200,50,-1,-1,20,$Form1)
    GuiCtrlSetData($LVItem,$Stadt & "|" & $Land & "|Fluss")
    $Fluss = InputBox("Stadt, Land Fluss Buchstabe ","Bitte Fluss eingeben","","",200,50,-1,-1,20,$Form1)
    GuiCtrlSetData($LVItem,$Stadt & "|" & $Land & "|" & $Fluss)
    EndSwitch
    WEnd

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

    mfg (Auto)Bert