NAMEp_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.
BENUTZUNGp_SetObjectState(Objekt, Status)
FUNKTIONDiese 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.
EINGABEWERTEObjekt
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
VORRAUSSETZUNGHollywood Version 3 oder höher
ScuiLib 0.5 beta oder höher
FUNKTIONSCODEIch bin einfach zu faul, um im Code bei On und Off die Anführungs- und
Schlusszeichen zu setzen
Code:
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
BEISPIELCode:
p_SetObjectState("Schalter", On)
Der Switch mit dem Namen "Schalter" ist nun gedrückt.
Code:
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:
viewtopic.php?f=38&t=2425