Herausfinden welches gadget gerade aktiv ist

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Konne
Beiträge: 764
Registriert: 30.03.2005 02:20
Kontaktdaten:

Herausfinden welches gadget gerade aktiv ist

Beitrag von Konne »

Wie kann man herausfinden welches gadget gerade aktiv ist? Also den Fokus hat?
Benutzeravatar
Hroudtwolf
Beiträge: 1416
Registriert: 30.10.2004 23:33
Kontaktdaten:

Beitrag von Hroudtwolf »

Eventuell so.

Code: Alles auswählen

For x=1 To anzahlgadgets.l
  If GetFocus_()=GadgetID(x):Debug "gadget"+Str(x):Break:EndIf 
Next x
Zuletzt geändert von Hroudtwolf am 22.10.2005 23:55, insgesamt 1-mal geändert.
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 »

Unter Windows kannst du den Befehl [c]getFocus_()[/c] benutzen um das
Handle des Gadgets zu ermitteln, das den Fokus hat. Dadurch erhälst du
aber nicht automatisch die PB-interne ID des Gadgets. Du musst dann
also noch alle deine Gadgets überprüfen, z.B. so:

Code: Alles auswählen

Select GetFocus_()
  Case GadgetID(#ListIcon)
    ;ListIcon hat den Fokus
  Case GadgetID(#String)
    ;Stringgadget hat den Fokus
  ;blablabla
EndSelect
Benutzeravatar
Konne
Beiträge: 764
Registriert: 30.03.2005 02:20
Kontaktdaten:

Beitrag von Konne »

THX für die schnelle Antwort
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Ungetestet:

Code: Alles auswählen

GetDlgCtrlID_(GetFocus_())
Bin mir aber nicht sicher, ob das so immer funzt
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten