[gelöst] Wurde ein Treegadget-Eintrag eingeklappt ?

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
scholly
Beiträge: 793
Registriert: 04.11.2005 21:30
Wohnort: Düsseldorf

[gelöst] Wurde ein Treegadget-Eintrag eingeklappt ?

Beitrag von scholly »

moin, moin...

(Wie) Kann man feststellen, ob ein LeftKlick auf ein TreeGadget (#PB_EventType_LeftClick) dazu führt bzw geführt hat, daß das Darunterliegende einklappt?

Hintergrund:
Beim Aufklappen will ich eine Aktion auslösen,
beim Einklappen will ich verhindern, daß diese Aktion wieder stattfindet.

Oder andersherum:
(Wie) Kann man unterscheiden, ob auf den Eintrag (z.B "Generes") oder den dazugehörigen Knoten geklickt wurde ?

mDv... scholly
Zuletzt geändert von scholly am 17.05.2008 16:02, insgesamt 1-mal geändert.
Ich bin blutiger PB-Anfänger.
seit 17.12.08: PB 4.3 unter XP Home(SP3)
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

indem du nach einem EventType() deinen MausKlick abfragst welchen Status das aktuelle Item hat:
GetGadgetItemState()
#PB_Tree_Selected : Der Eintrag ist ausgewählt, andernfalls 0.
#PB_Tree_Expanded : Der Eintrag ist ausgeklappt (ein "Baum"-Eintrag ist geöffnet), andernfalls 0.
#PB_Tree_Collapsed : Der Eintrag ist nicht ausgeklappt.
#PB_Tree_Checked : Das Häkchen bei einem Eintrag ist gesetzt, andernfalls 0. (nur mit #PB_Tree_CheckBoxes Flag)

also bei dir dann so:
If EventType() = #PB_EventType_LeftClick
 If GetGadgetItemState(#Gadget, GetGadgetState(#Gadget)) & #PB_Tree_Expanded
  ; Eintrag gerade ausgeklappt worden
 ElseIf GetGadgetItemState(#Gadget, GetGadgetState(#Gadget)) & #PB_Tree_Collapsed
  ; Eintrag gerade eingeklappt worden
 EndIf
EndIf
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
scholly
Beiträge: 793
Registriert: 04.11.2005 21:30
Wohnort: Düsseldorf

Beitrag von scholly »

ARGLLLLL.... >_<

:iamwithstupid: Wieder falsch gesucht

:allright: , STARGÅTE
Ich bin blutiger PB-Anfänger.
seit 17.12.08: PB 4.3 unter XP Home(SP3)
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Beitrag von NicTheQuick »

Das funktioniert allerdings unter Linux nicht, weil ein Eintrag nicht
automatisch den Fokus erhält, wenn man ihn auf- oder zuklappt.
Also 'GetGadgetState()' ändert sich nicht, wenn man auf das + oder - klickt.
Antworten