R3vo – User talk
mNo edit summary |
mNo edit summary |
||
Line 2: | Line 2: | ||
==Scripting Examples== | ==Scripting Examples== | ||
===CT_LISTBOX=== | ===CT_LISTBOX=== | ||
[[CT_LISTBOX]] command family overview. [[CT_LISTBOX]] command family can be used with [[CT_COMBO]], [[CT_LISTBOX]], [[CT_XLISTBOX]] and [[CT_XCOMBO]] | [[CT_LISTBOX]] command family overview. [[CT_LISTBOX]] command family can be used with [[CT_COMBO]], [[CT_LISTBOX]], [[CT_XLISTBOX]] and [[CT_XCOMBO]]. | ||
<code>{ | <code>{ | ||
[[private]] _ctrl = _x; | [[private]] _ctrl = _x; |
Revision as of 15:30, 8 February 2021
Scripting Examples
CT_LISTBOX
CT_LISTBOX command family overview. CT_LISTBOX command family can be used with CT_COMBO, CT_LISTBOX, CT_XLISTBOX and CT_XCOMBO.
{
private _ctrl = _x;
{
_ctrl lbAdd getText (_x >> "displayName");
_ctrl lbSetPicture [_foreachindex,getText (_x >> "texture")];
_ctrl lbSetTooltip [_foreachindex,getText (_x >> "displayName")];
} forEach ("true" configClasses (configFile >> "CfgRanks"));
_ctrl lbSetCurSel 0;
private _current = lbCurSel _ctrl;
_ctrl lbSetData [_current,"hi"];
private _data = _ctrl lbData _current;
private _pic = _ctrl lbPicture _current;
_ctrl lbSetValue [_current, 1];
private _value = _ctrl lbValue _current;
private _size = lbSize _ctrl;
private _color = _ctrl lbColor _current;
_ctrl lbSetColor [_current, [(_color select 0) / 2, (_color select 1) / 4, 0, 1]];
lbSort [_ctrl, "DESC"];
lbSortByValue _ctrl;
if (_ctrl lbIsSelected _current) then
{
_ctrl lbDelete _current;
lbClear _ctrl;
};
} forEach [_CT_COMBO, _CT_LISTBOX, _CT_XLISTBOX, _CT_XCOMBO];
CT_LISTNBOX
As for invisible data processing, lnbAddArray, lnbAddColumn, lnbData, lnbGetColumnsPosition, lnbSetColumnsPos, lnbSetData, lnbSetText, lnbSetValue, lnbText and lnbValue store data types into exact position of the CT_LISTNBOX with different spaces. Accessing data with coordinate command at nearly the same syntax:
// Set same value to one position of a Control
_ctrl lnbSetData [ [0,0],"#1"];
lnbSetColumnsPos [102,[0,1],1];
_ctrl lnbSetText [ [0,1], "#1"];
_ctrl lnbSetValue [ [0,0],1];
// Accessing the value disregard affecting one another
_ctrl lnbData [0,0]; // "#1"
lnbGetColumnsPosition _ctrl; // [1];
_ctrl lnbText [0,0]; // "#1"
_ctrl lnbValue [0,0]; // 1
For a direct visible control over CT_LISTNBOX:
[_CT_LISTNBOX] spawn
{
disableSerialization;
params ["_CT_LISTNBOX"];
{
_CT_LISTNBOX lnbAddRow [ getText (_x >> "displayNameShort"),getText (_x >> "displayName")];
_CT_LISTNBOX lnbSetPicture [ [_foreachIndex,0],getText (_x >> "texture")];
} forEach ("true" configClasses (configFile >> "CfgRanks"));
_CT_LISTNBOX lnbSetCurSelRow 0;
private _current = lnbCurSelRow _CT_LISTNBOX;
private _color = _CT_LISTNBOX lnbColor [_current,0];
_CT_LISTNBOX lnbSetColor [ [_current,1], [(_color select 0) / 2, 0, 0, 1] ];
_CT_LISTNBOX lnbDeleteColumn 0;
_CT_LISTNBOX lnbDeleteRow 1;
sleep 1;
lnbClear _CT_LISTNBOX; // Clear all items but control still remains just invisible
};