ich habe folgendes Problem:
1) in einem PARENT:Gui ist eine Listview mit Daten, die über eine Funktion befüllt wird
2) durch Doppelklick auf einen Eintrag wird eine CHILD:Gui geöffnet mit einer neuen Listview
3) in dieser Childview wird eine Eintrag markiert und ein Button "Erledigt" geklickt
4) danach wird die gleiche Funktion wie in 1) aufgerufen mit übergabe des v-Namens der Listview um die Daten in der Listview der PARENT:Gui zu aktualisieren
ABER
- das funktioniert nicht, es wird immer die 2. Listview aus der CHILD:Gui aktualisiert!!! statt der, die in der Funktion übergeben wird!
Kann mir da jemand helfen, ich hänge schn 2 Tage dran und komme nicht weiter...? Die Listweis machen mich noch wahnsinnig
hier ein Beispielcoder, der das verdeutlicht
Code: Select all
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn ; Enable warnings to assist with detecting common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
Gui, PARENT:New
gui, PARENT:-Resize ;+0x40000 +0x200000
Gui, +LastFound
Gui, PARENT:Add, ListView, w500 h200 HWNDhLB grid AltSubmit vResultsLV gResultLVClick +LV0x10000, 1|2|3|4 ;Checked
lvbefuellen("ResultsLV")
Gui, PARENT:Add, Button, x+5 gNeuLaden, reload
Gui, PARENT:Show, w600 h400 Center,ttt
return
PARENTGuiClose:
Exitapp
NeuLaden:
reload
return
ResultLVClick:
Gui, PARENT:submit, nohide
if A_GuiEvent = Normal
{
LV_GetText(RowText, A_EventInfo, 1)
geklickt = %A_guiEvent%
ZeileNum = %A_EventInfo%
LV_GetText(RowText2, A_EventInfo, 2)
LV_GetText(RowText3, A_EventInfo, 3)
LV_GetText(RowText4, A_EventInfo, 4)
}
if A_GuiEvent = DoubleClick ;or GoKnopf = 1
{
LV_GetText(RowText, A_EventInfo, 1)
geklickt = %A_guiEvent%
ZeileNum = %A_EventInfo%
LV_GetText(RowText2, A_EventInfo, 2)
LV_GetText(RowText3, A_EventInfo, 3)
LV_GetText(RowText4, A_EventInfo, 4)
gosub, PZINOpen
}
if A_GuiEvent = RightClick
{
LV_GetText(RowText, A_EventInfo, 1)
geklickt = %A_guiEvent%
ZeileNum = %A_EventInfo%
LV_GetText(RowText2, A_EventInfo, 2)
LV_GetText(RowText3, A_EventInfo, 3)
LV_GetText(RowText4, A_EventInfo, 4)
}
return
;#################
PZINOpen:
Gui, PARENT:submit, nohide
DestroyGUIs()
Gui, CHILD:New
Gui, CHILD:+ParentPARENT -Resize +AlwaysOnTop -Caption ;+0x40000
Gui, CHILD:Add, ListView, x30 y40 w500 r5 HWNDLVDateien Hdr grid AltSubmit gDateioeffnen vDateilliste +LV0x10000,Name|pfad
Loop, %A_Desktop%\*.*
LV_Add("", A_LoopFileName, A_LoopFilePath)
LV_ModifyCol(1, 250) ; Passt die Breiten der Spalten an den Inhalt der Reihen an.
LV_ModifyCol(2, 100) ; Kennzeichnet aus Sortierungsgründen die Spalte 2 als Integer.
gui, CHILD:add, button, gErledigt, erledigt
Gui, CHILD:show, x0 y200 autosize
return
;#################
Dateioeffnen:
Gui, CHILD:submit, nohide
if A_GuiEvent = DoubleClick
{
LV_GetText(TextDateiName, A_EventInfo, 1)
LV_GetText(TextDateiPfad, A_EventInfo, 2)
run, %TextDateiPfad%
}
return
;################
Erledigt:
Gui, CHILD:submit, nohide
msgbox, erledigt!!!
lvbefuellen("ResultsLV")
return
;#################
; Functions
lvbefuellen(LVname){
GuiControl, PARENT:-ReDraw, %LVname%
Gui, ListView, %LVname%
LV_Delete()
rowNum := LV_Add(, A_Now, "asdsdsd", "sdafsdgsd", "asdfsdgs333")
rowNum := LV_Add(, "sdgvsydgs", A_Now, "3424fdsa", "sdfsdsdf")
rowNum := LV_Add(, "wer234", "cbcbc", "xcbvxcb", "cvbcbc")
LV_ModifyCol(1, "AutoHdr")
LV_ModifyCol(2, "AutoHdr")
LV_ModifyCol(3, "AutoHdr")
LV_ModifyCol(4, "AutoHdr")
GuiControl, PARENT:+ReDraw, %LVname%
}
;###################
DestroyGUIs(){
Gui, CHILD:Destroy
}