ctrlCreate: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
No edit summary
(Updated description, removed outdated and misleading notes.)
Line 7: Line 7:
____________________________________________________________________________________________
____________________________________________________________________________________________


| Creates new control in given display. Some of the common controls that can be used with this command:
| Creates a new control in the given display. The control class could be existing class from [[configFile | main config]] or custom class defined in [[missionConfigFile | mission config]] (mission config is searched first). Some of the common controls defined in main config that can be used with this command:
* <tt>RscText</tt> - simple text box
* <tt>RscText</tt> - simple text box
* <tt>RscTextMulti</tt> - simple multiline text box
* <tt>RscTextMulti</tt> - simple multiline text box
Line 17: Line 17:
* <tt>RscTreeSearch</tt> - searchable tree view control (see Example 4)
* <tt>RscTreeSearch</tt> - searchable tree view control (see Example 4)
* <tt>RscVideo</tt> - picture control with autostart for video texture (see [[BIS_fnc_playVideo]])
* <tt>RscVideo</tt> - picture control with autostart for video texture (see [[BIS_fnc_playVideo]])
* <tt>RscVideoKeepAspect</tt> - picture control for video to keep original video aspect ratio
* <tt>RscVideoKeepAspect</tt> - picture control for video to keep original video aspect ratio|= Description
 
'''NOTE''': Since Arma 3 v1.69.141213 [[ctrlCreate]] will also search for control class in [[description.ext|mission config]], if search in the main config failed. This means one can now define classes in mission config and use them with [[ctrlCreate]] |= Description
____________________________________________________________________________________________
____________________________________________________________________________________________


Line 103: Line 101:


<!-- CONTINUE Notes -->
<!-- CONTINUE Notes -->
<dl class="command_description">
<dd class="notedate">Posted on February 6, 2016 - 20:58 (UTC)</dd>
<dt class="note">[[User:DreadedEntity|DreadedEntity]]</dt>
<dd class="note">
Although you can only dynamically create controls using BIS's configs, there are many commands to change certain aspects of each created control. See [[:Category:Command_Group:_GUI_Control|GUI Control]]
</dd>
<dd class="notedate">Posted on May 29, 2017 - 04:52 (UTC)</dd>
<dt class="note">[[User:Demellion|Demellion]]</dt>
<dd class="note">
Since '''Arma 3 1.70'''  [[DialogControls-ListBoxes| ListBoxes]] created thru ''ctrlCreate'' are no more encountering problems with max of 7 selections without scrolling the control.
</dd>
</dl>
<!-- DISCONTINUE Notes -->
<!-- CONTINUE Notes -->
<dl class="command_description">
<dd class="notedate">Posted on November 16, 2018 - 06:11 (UTC)</dd>
<dt class="note">[[User:HazJ|HazJ]]</dt>
<dd class="note">
Although ctrlCreate is great, sadly it has some limitations. For example when using this command to create RscListNBox control type. There is currently no scripting command or solution (as of 1.84) to draw the arrows on each side (drawSideArrows).
</dd>
</dl>
<!-- DISCONTINUE Notes -->
<!-- DISCONTINUE Notes -->

Revision as of 14:12, 19 November 2018

Hover & click on the images for description

Description

Description:
Creates a new control in the given display. The control class could be existing class from main config or custom class defined in mission config (mission config is searched first). Some of the common controls defined in main config that can be used with this command:
  • RscText - simple text box
  • RscTextMulti - simple multiline text box
  • RscPicture - simple picture box
  • RscPictureKeepAspect - picture box that doesn't stretch picture
  • RscEdit - input box
  • RscEditMulti - multiline input box
  • RscTree - tree view control
  • RscTreeSearch - searchable tree view control (see Example 4)
  • RscVideo - picture control with autostart for video texture (see BIS_fnc_playVideo)
  • RscVideoKeepAspect - picture control for video to keep original video aspect ratio
Groups:
Uncategorised

Syntax

Syntax:
display ctrlCreate [class, idc, controlsGroup]
Parameters:
display: Display - Display in which control will be created
[class, idc, controlsGroup]: Array
class: String - Existing classname (see ctrlCreate/classnames) of the new control (Since Arma 3 v1.69.141213 it is possible to use classes defined in mission config)
idc: Number - IDC of the new control (use -1 if you don't care what it should be)
controlsGroup (Optional): Control - Creates controls in existing controls group
Return Value:
Control

Examples

Example 1:
_display ctrlCreate ["RscText", 1234];
Example 2:
_map = findDisplay 46 ctrlCreate ["RscMapControl", -1]; _multiLineText = findDisplay 46 ctrlCreate ["RscTextMulti", -1]; _multiLineEdit = findDisplay 46 ctrlCreate ["RscEditMulti", -1];
Example 3:
myControl = findDisplay 0 ctrlCreate ["RscText", 1234, findDisplay 0 displayCtrl 2300];
Example 4:
Create Tree View control with search. Available RscTreeSearch class is hardcoded to be used with RscEdit with idc 645. Example below demonstrates how to. After tree is generated, try typing something in the top box. [] spawn { disableSerialization; _display = findDisplay 46 createDisplay "RscDisplayEmpty"; _edit = _display ctrlCreate ["RscEdit", 645]; _edit ctrlSetPosition [0,0,1,0.04]; _edit ctrlSetBackgroundColor [0,0,0,1]; _edit ctrlCommit 0; _tv = _display ctrlCreate ["RscTreeSearch", -1]; _tv ctrlSetFont "EtelkaMonospacePro"; _tv ctrlSetFontHeight 0.03; _tv ctrlSetPosition [0,0.06,1,0.94]; _tv ctrlSetBackgroundColor [0,0,0,1]; _tv ctrlCommit 0; _classes = "true" configClasses (configFile >> "CfgVehicles"); for "_i" from 0 to 5 do { _tv tvAdd [[], configName selectRandom _classes]; for "_j" from 0 to 5 do { _tv tvAdd [[_i], configName selectRandom _classes]; for "_k" from 0 to 5 do { _tv tvAdd [[_i, _j], configName selectRandom _classes]; for "_n" from 0 to 5 do { _tv tvAdd [[_i, _j, _k], configName selectRandom _classes]; }; }; }; }; };

Additional Information

See also:
allControlsallDisplayscontrolsGroupCtrlctrlDeletectrlModelctrlSetModelctrlPositionctrlSetPositionctrlClassNamectrlModelScalectrlSetModelScalectrlModelDirAndUpctrlSetModelDirAndUpdisplayParent

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

Notes

Bottom Section