NAME
p_SetObjectState -- Setzt ein Switch auf gedrückt/nicht gedrückt,
verschiebt den Knopf bei einem SimpleScroller oder setzt eine Stringbox auf
Eingabe oder wählt sie ab.
BENUTZUNG
p_SetObjectState(Objekt, Status)
FUNKTION
Diese Funktion setzt das in Objekt übergebener Switch auf gedrückt (value=1)
oder nicht (value=0). Bei einem SimpleScroller wird der Knopf auf die
angegebene Position verschoben. Bitte beachte, dass bei einem Switch oder
SimpleScroller nur der optische Zustand geändert wird. Es werden keine
Funktionen wie OnChanged, OnDrag oder OnChange ausgeführt.
Eine Stringbox wird auf Eingabe gesetzt oder abgewählt. Hier wird aber, im
Gegensatz zu den anderen Objekten, beim setzen auf Eingabe die Funktion
OnClick und beim Abwählen die Funktionen OnExit oder OnChanged ausgeführt.
EINGABEWERTE
Objekt
Ein gültiger Name für ein ScuiLibObjekt, welches im Programmcode deklariert wurde.
Status (Switch)
"On" für value=1 (gedrückt)
"Off" für value=0 (nicht gedrückt)
Status (SimpleScroller)
Ganzzahl von 1 bis im Programm festgelegt
Status (Stringbox)
"On" für Eingabe und Ausführen der Funktion OnClick
"Off" für Abwählen und Ausführen der Funktion OnExit oder OnChanged
VORRAUSSETZUNG
Hollywood Version 3 oder höher
ScuiLib 0.5 beta oder höher
FUNKTIONSCODE
Ich bin einfach zu faul, um im Code bei On und Off die Anführungs- und
Schlusszeichen zu setzen
On = "On"
Off = "Off"
Function p_SetObjectState(Objekt,Status)
Local ObjektID = scui.GetIFOID(Objekt)
Local Obj=scui.Get(ObjektID)
If Obj.oClass = #IFOCLASS_STRINGBOX
If Status=On
scui.HandleObject({id = ObjektID , action = "OnMouseOver"})
scui.HandleObject({id = ObjektID , action = "OnMouseDown"})
scui.HandleObject({id = ObjektID , action = "OnMouseUp"})
ElseIf Status=Off
If scui.Keyboard.Mode = #KEYBOARD_INPUTMODE And scui.Keyboard.ActiveStringBox = ObjektID
scui.Keyboard_Handler( { key = Chr(10), action = "OnKeyDown" } )
EndIf
EndIf
ElseIf Obj.oClass = #IFOCLASS_SWITCH
If Status=On
scui.Set(Objekt,{ Value = 1 }, 1 )
ElseIf Status=Off
scui.Set(Objekt,{ Value = 0 }, 1 )
EndIf
ElseIf Obj.oClass = #IFOCLASS_SIMPLESCROLLER
scui.Set(Objekt, {value = Status}, 1)
EndIf
EndFunction
BEISPIEL
p_SetObjectState("Schalter", On)
Der Switch mit dem Namen "Schalter" ist nun gedrückt.
p_SetObjectState("Schiebebalken", 5)
Der Knopf vom SimpleScroller wird auf die Position 5 verschoben (er wird nicht um 5
Schritte verschoben).
Meinungen und Komentarte bitte hier äussern:
http://www.amiga-resistance.info/phpbb3 ... =38&t=2425