Abfrage welches Gadget aktiv

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
saimen
Beiträge: 172
Registriert: 26.01.2005 10:44
Wohnort: Passau
Kontaktdaten:

Abfrage welches Gadget aktiv

Beitrag von saimen »

ich hab drei listicongadgets von wo aus ich über ein rechtsklick menü Einträge bearbeiten kann.

Gibts ne einfach Möglichkeit abzufragen von welchem Gadget dabei Aktiv ist?
Caliban
Beiträge: 41
Registriert: 08.09.2004 08:46

Beitrag von Caliban »

Ich machs immer so:

Code: Alles auswählen

Procedure GetSelectedListIconItem(id)
  
  For x = 1 To CountGadgetItems(id)
    If GetGadgetItemState(id,x) & #PB_ListIcon_Selected
      ProcedureReturn x
      Break
    EndIf
  Next x
  
EndProcedure
Benutzeravatar
saimen
Beiträge: 172
Registriert: 26.01.2005 10:44
Wohnort: Passau
Kontaktdaten:

Beitrag von saimen »

Ja, aber das problem ist, wenn du dich mal duch alle 3 ListIcons bewegt hast, ist in jedem Gadget min. ein Element aktiv. Und Wenn ich jetzt z.b. vom ListIconGadet #1 ein Element bearbeiten will und dafür dann alle 3 Listen auf Aktive Elemente überprüfe bekomme ich min. 3 elemente mit state=1
Verstehst du was ich meine?
Ich möchte abfragen können in welchem der 3 ListIconGadgets ich mich befinde, und diese Liste dann auf selected checken.
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Beitrag von DarkDragon »

If GetFocus_() = GadgetID() sollte doch helfen?!?
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
saimen
Beiträge: 172
Registriert: 26.01.2005 10:44
Wohnort: Passau
Kontaktdaten:

Beitrag von saimen »

komischerweis ermittelt GetFocus_() bei jedem Klick eine andere ID, so dass die Bedingung nicht wahr wird???
Benutzeravatar
saimen
Beiträge: 172
Registriert: 26.01.2005 10:44
Wohnort: Passau
Kontaktdaten:

Beitrag von saimen »

oh, ich glaub ich weis wo der Fehler liegt. GetFocus_() ermittelt die Id von meinem RechtsklickSubMenu und nicht von dem Gadget.
Das ist natürlich nicht das was ich will.....
Benutzeravatar
Lukaso
Beiträge: 720
Registriert: 08.09.2004 18:51
Wohnort: Oberkirch
Kontaktdaten:

Beitrag von Lukaso »

Also bei mir funktioniert es, vll. hast du GadgetID() vergessen ....

Code: Alles auswählen

If GetFocus_() = GadgetID(ID zum ListIconGadget)
  Debug "List Gadget Aktiv"
ElseIf GetFocus_() = GadgetID(ID zum 2. zum ListIconGadget)
  Debug "2. List Gadget Aktiv"
EndIf
MFG Lukaso
Zuletzt geändert von Lukaso am 07.02.2005 19:26, insgesamt 1-mal geändert.
Nextgen Guild Wars Fanseite: Guild Wars Tactics (Pseudo-Admin + Developer)
"Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht." - Unbekannter Autor
Benutzeravatar
saimen
Beiträge: 172
Registriert: 26.01.2005 10:44
Wohnort: Passau
Kontaktdaten:

Beitrag von saimen »

ABer ich werd die ID einfach vorher ermitteln.
Mit welchen API-Befehl kann ich dann wieder rückwirkend auf das Objekt zugreifen?
Hab bis jetzt leider noch keine gute Dokumentation gefunden die mir alle Befehle für WinAPI erläutert.
Antworten