Hallo zusammen,
ich hatte mir ein kleines Skrip mit Autoit geschrieben, dass mir einfache, immer wiederkehrende Befehle mit dem PC-Namen als Parameter ausführt. Das hat gut funktioniert, bis ich mir die aktuelle Version V3.2.10.0 installiert habe.
Das Problem ist, dass das Händling mit dem Befehl GUICtrlCreateList jetzt anders funktioniert.
Ich habe mein Skript entsprechend umgeschrieben, aber leider wird jetzt nicht mehr erkannt, wenn ich einen Eintrag im Listview auswähle.
Ich möchte, das nach einem Kick auf einen Eintrag im ListView der PC-Name in die Inputbox übernommen wird.
Hier der entsprechende Code.
C
#include <GuiConstantsEx.au3>
#include <GuiListView.au3>
Global $listboxtext[40][2]
$listboxtext[0][0] = "PCFRA"
$listboxtext[0][1] = "Vorlage PC FRA"
$listboxtext[1][0] = "PCM"
$listboxtext[1][1] = "Vorlage PC M"
$pc=""
$ret=""
pcauswahl($pc)
Exit
Func pcauswahl($pc)
$GUI=GUICreate("Bitte PC auswählen",420,400)
$hListView = GUICtrlCreateListView( "", 10, 10, 400, 300)
_GUICtrlListView_AddColumn ($hListView, "PC-Name", 120)
_GUICtrlListView_AddColumn ($hListView, "Bemerkung", 259)
_GUICtrlListView_SetExtendedListViewStyle ($hListView, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT))
_GUICtrlListView_DeleteAllItems($hListView)
_GUICtrlListView_AddArray ($hListView, $listboxtext)
$inputbox=GUICtrlCreateInput ( $pc, 20, 340 , 180 ,20)
$close=GUICtrlCreateButton ("Übernehmen", 20,370,180,20)
GUICtrlSetData($inputbox, $pc)
GUISetState ()
$msg = 0
While $msg <> $GUI_EVENT_CLOSE
$msg = GUIGetMsg(0)
Select
Case $msg = $close
$pc=GUICtrlRead($inputbox)
MsgBox(0,"Info", "Auf den Übernehmen-Button wurde geklickt",5)
GUIDelete()
Return $pc
Case $msg = $hListView
MsgBox(0,"Info", "Auf das Listview wurde geklickt",5)
; Diese Bedingung wird leider nie Erfüllt - Was ist der Fehler?
If ($ret == $LB_ERR) Then
MsgBox(16, "Fehler", "Sie haben keinen gültigen Eintrag ausgewählt")
Else
GUICtrlSetData($inputbox, _GUICtrlListView_GetItemText ($hListView,_GUICtrlListView_GetSelectedColumn ($hListView)))
EndIf
EndSelect
Wend
GUIDelete()
EndFunc
Alles anzeigen
Was mache ich falsch? Ich hoffe, jemand kann mir weiterhelfen.
Gruß
Häger