Seite 1 von 1

EventGadgetID() reseten

Verfasst: 28.10.2005 15:55
von sen-me

Code: Alles auswählen

Repeat
 EventID=WaitWindowEvent()
 If EventID=13100
  Select EventGadgetID()
   Case 0
    SetGadgetState(0,UseImage(1))
    SetGadgetState(1,UseImage(2))
   Case 1
    SetGadgetState(0,UseImage(0))
    SetGadgetState(1,UseImage(3))
   Default
    SetGadgetState(0,UseImage(0))
    SetGadgetState(1,UseImage(2))
  EndSelect
 EndIf
Until EventID=16
also mir ist klar das es JETZT nur dann sich ändert wenn ein gadget ein ereignis kriegt.
doch wenn ich nach repeat gleich mal eventgadgetid() schreibe, dann hat diese immer noch z.b. die zahl 1

gibts ne möglichkeit diese wieder auf 0 zu setzen?

Verfasst: 28.10.2005 17:26
von Laurin
EventGadgetID() ändert sich nur dann, wenn auch wirklich was mit einem Gadget passiert.
AFAIK kann der Wert nur durch WindowEvent/WaitWindowEvent verändert werden.

Verfasst: 28.10.2005 17:34
von ts-soft

Code: Alles auswählen

Repeat
 GadgetID = 0
 EventID=WaitWindowEvent()
 If EventID=13100
 GadgetID = EventGadgetID()
  Select GadgetID 
   Case 0
    SetGadgetState(0,UseImage(1))
    SetGadgetState(1,UseImage(2))
   Case 1
    SetGadgetState(0,UseImage(0))
    SetGadgetState(1,UseImage(3))
   Default
    SetGadgetState(0,UseImage(0))
    SetGadgetState(1,UseImage(2))
  EndSelect
 EndIf
Until EventID=16
Die Funktion EventGadgetID() kannste nicht beeinflussen, wozu auch. Eine Hilfsvariable kannste manipulieren, aber es macht Ehrlich gesagt überhaupt keinen Sinn :freak:

Verfasst: 28.10.2005 18:32
von sen-me
doch wenn man z.b. durch ein klick ein imagegadget ändern will (solange es gedrückt ist) und wenn man nicht mehr drückt oder nicht mehr über dem imagegadgetist soll er wiede rin normal zustand

Verfasst: 28.10.2005 18:46
von ts-soft
Dafür brauchste ein Callback, wo Du #wm_lbuttondown und #wm_lbuttonup bearbeiten kannst. Such mal nach Callback