Seite 1 von 1

Abfrage welches Gadget aktiv

Verfasst: 07.02.2005 15:23
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?

Verfasst: 07.02.2005 15:27
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

Verfasst: 07.02.2005 15:58
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.

Verfasst: 07.02.2005 16:24
von DarkDragon
If GetFocus_() = GadgetID() sollte doch helfen?!?

Verfasst: 07.02.2005 19:13
von saimen
komischerweis ermittelt GetFocus_() bei jedem Klick eine andere ID, so dass die Bedingung nicht wahr wird???

Verfasst: 07.02.2005 19:15
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.....

Verfasst: 07.02.2005 19:23
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

Verfasst: 07.02.2005 19:24
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.