Page 1 of 1

Beliebiger Klick innerhalb einer Gui, (aber kein steuerelement), soll ListView abwählen

Posted: 08 Sep 2019, 14:11
by KHA
Guten Abend,
Ein klick innerhalb einer GUI an beliebiger stelle, soll alle Listview einträge abwählen.
Meine Idee:

Code: Select all

#IfWinActive TEST123
~LButton::
LV_Modify(0, "-Select")
Return
#IfWinActive
funktioniert zwar, aber mein Button hat danach leider auch kein Funktion.

Code: Select all

Gui, New
Gui, Add, Text,, Das ist mein ListView
Gui, Add, Listview, w500 BackgroundWhite Grid, 1|2|3

Loop, 3
LV_Add("", "Test", "Test", "Test")

Gui, Add, Button, Default w80, OK

Gui, Show,,TEST123
Return

/*
#IfWinActive TEST123
~LButton::
LV_Modify(0, "-Select")
Return
#IfWinActive 
*/
ButtonOK:
Reihennummer = 0  
Loop
{
    Reihennummer := LV_GetNext(Reihennummer) 
    if not Reihennummer
        break
    LV_GetText(Text, Reihennummer)
    MsgBox Die nächste ausgewählte Reihe ist #%Reihennummer%, die im ersten Feld "%Text%" enthält.
}
Return

Guiclose:
ExitApp


Danke im Voraus.
LG

Re: Beliebiger Klick innerhalb einer Gui, (aber kein steuerelement), soll ListView abwählen  Topic is solved

Posted: 08 Sep 2019, 16:32
by KHA
Habe mehr oder weniger per Zufall herausgefunden:

Code: Select all

Gui, New
Gui, Add, Text,, Das ist mein ListView
Gui, Add, Listview, w500 BackgroundWhite Grid, 1|2|3

Loop, 3
LV_Add("", "Test", "Test", "Test")

Gui, Add, Button, Default w80, OK

Gui, Show,,TEST123
OnMessage(0x203, "WM_LBUTTONDOWN")
Return

WM_LBUTTONDOWN(wParam, lParam)
{
    X := lParam & 0xFFFF
    Y := lParam >> 16
if !A_GuiControl
LV_Modify(0, "-Select")
}Return




/*
#IfWinActive TEST123
~LButton::
LV_Modify(0, "-Select")
Return
#IfWinActive 
*/
ButtonOK:
Reihennummer = 0  
Loop
{
    Reihennummer := LV_GetNext(Reihennummer) 
    if not Reihennummer
        break
    LV_GetText(Text, Reihennummer)
    MsgBox Die nächste ausgewählte Reihe ist #%Reihennummer%, die im ersten Feld "%Text%" enthält.
}
Return

Guiclose:
ExitApp

Re: Beliebiger Klick innerhalb einer Gui, (aber kein steuerelement), soll ListView abwählen

Posted: 09 Sep 2019, 02:39
by just me
Moin,

nur zur Klarstellung:

0x0203 ist die numerische Konstante für WM_LBUTTONDBLCLK (Doppelklick). Das normale WM_LBUTTONDOWN Ereignis ist 0x0201.

Die WM_LBUTTONDOWN Funktion kann für Deine Zwecke so verkürzt werden:

Code: Select all

WM_LBUTTONDOWN()
{
	If !A_GuiControl ; Klick auf den Fensterhintergrund
		LV_Modify(0, "-Select")
}
Das Return hinter der den Funktionskörper abschließenden Blockklammer (}) ist sinnlos.

Re: Beliebiger Klick innerhalb einer Gui, (aber kein steuerelement), soll ListView abwählen

Posted: 09 Sep 2019, 11:47
by KHA
Danke für die Aufklärung.