ctrlSetPosition
Description
- Description:
 - Sets wanted position and size for 2D control animation. Width and height are optional. ctrlCommit is required to complete the operation. For 3D control, param is relative [x, z, y] and no ctrlCommit is required as it cannot be animated. If target control is inside a CT_CONTROLS_GROUP, the position needs to be relative to it.
 - Groups:
 - GUI Control - Positioning
 
Syntax 1
- Syntax:
 - controlName ctrlSetPosition [x, y]
 - Parameters:
 - controlName: Control - 2D control
 - x: Number - position in x
 - y: Number - position in y
 - Return Value:
 - Nothing
 
Syntax 2
- Syntax:
 - controlName ctrlSetPosition [x, y, w, h]
 - Parameters:
 - controlName: Control - 2D control
 - x: Number - position in x
 - y: Number - position in y
 - w: Number - width of the control
 - h: Number - height of the control
 - Return Value:
 - Nothing
 
Syntax 3
- Syntax:
 - controlName ctrlSetPosition [x, z, y]
 - Parameters:
 - controlName: Control - 3D control
 - x: Number - screen x
 - z: Number - distance from the screen (depth). If object is too far, it cannot be dragged by the mouse.
 - y: Number - screen y
 - Return Value:
 - Nothing
 
Examples
- Example 1:
 - Move control:
 - Example 2:
 - Move control and resize:
 - Example 3:
 - _control3D ctrlSetPosition [0.5, 1, 0.5]; //centered and 1m away from screen
 - Example 4:
 - Typewriter effect:
with uiNamespace do { 0 spawn { _text1 = "This is a simple demo of typewriter text effect with various speed."; _text2 = "This took 10 seconds."; _text3 = "This is a fast one, set for 2 seconds."; ctrl = findDisplay 46 ctrlCreate ["RscStructuredText", -1]; ctrl ctrlSetPosition [0, 0, 0, 0.1]; ctrl ctrlCommit 0; ctrl ctrlSetStructuredText parseText format ["<t color='#ff0000' size='2.1'>%1</t>", _text1 splitString " " joinString " "]; ctrl ctrlSetPosition [0, 0, ctrlTextWidth ctrl, 0.1]; ctrl ctrlCommit 8; waitUntil { ctrlCommitted ctrl }; sleep 0.5; ctrl ctrlSetPosition [0,0,0,0.1]; ctrl ctrlCommit 0; ctrl ctrlSetStructuredText parseText format ["<t color='#ff0000' size='2.1'>%1</t>", _text2 splitString " " joinString " "]; ctrl ctrlSetPosition [0, 0, ctrlTextWidth ctrl, 0.1]; ctrl ctrlCommit 2; waitUntil { ctrlCommitted ctrl }; sleep 2; ctrl ctrlSetPosition [0,0,0,0.1]; ctrl ctrlCommit 0; ctrl ctrlSetStructuredText parseText format ["<t color='#00ff00' size='2.1'>%1</t>", _text3 splitString " " joinString " "]; ctrl ctrlSetPosition [0,0,ctrlTextWidth ctrl,0.1]; ctrl ctrlCommit 2; waitUntil { ctrlCommitted ctrl }; sleep 2; ctrlDelete ctrl; }; };
 
Additional Information
- See also:
 - ctrlMapSetPosition ctrlCommit ctrlCreate ctrlDelete ctrlModel ctrlSetModel ctrlPosition ctrlClassName displayCtrl ctrlModelScale ctrlSetModelScale ctrlModelDirAndUp ctrlSetModelDirAndUp
 
Notes
- 
Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note 
- Posted on Jun 20, 2017 - 11:56 (UTC)
 - If the target control is a controls' group, all the child controls of that group will be moved automatically (as their position is relative to the control group rather than the display).
 
Categories: 
- Scripting Commands
 - Introduced with Armed Assault version 1.00
 - ArmA: Armed Assault: New Scripting Commands
 - ArmA: Armed Assault: Scripting Commands
 - Arma 2: Scripting Commands
 - Arma 2: Operation Arrowhead: Scripting Commands
 - Take On Helicopters: Scripting Commands
 - Arma 3: Scripting Commands
 - Command Group: GUI Control - Positioning