List Box
LISTBOX
(A3 1.28)lb command family overview.
//lb command family can be used with CT_COMBO, CT_LISTBOX, CT_XLISTBOX & CT_XCOMBO
private ["_current","_data","_pic","_value","_size","_color"];
{
_ctrl = _x;
{
_ctrl lbAdd getText (_x >> "displayName");
_ctrl lbSetPicture [_foreachindex,getText (_x >> "texture")];
_ctrl lbSetTooltip [_foreachindex,getText (_x >> "displayName")];
} forEach ("isClass _x" configClasses (configFile >> "CfgRanks"));
_ctrl lbSetCurSel 0;
_current = lbCurSel _ctrl;
_ctrl lbSetData [_current,"hi"];
_data = _ctrl lbData _current;
_pic = _ctrl lbPicture _current;
_ctrl lbSetValue [_current, 1];
_value = _ctrl lbValue _current;
_size = lbSize _ctrl;
_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
];
LISTNBOX
//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:
0 = [_CT_LISTNBOX] spawn {
private ["_CT_LISTNBOX","_color","_current","_pic"];
disableSerialization;
_CT_LISTNBOX = _this select 0;
{
_CT_LISTNBOX lnbAddRow [ getText (_x >> "displayNameShort"),getText (_x >> "displayName")];
_CT_LISTNBOX lnbSetPicture [ [_foreachIndex,0],getText (_x >> "texture")];
} forEach ("isClass _x" configClasses (configFile >> "CfgRanks"));
_CT_LISTNBOX lnbSetCurSelRow 0;
_current = lnbCurSelRow _CT_LISTNBOX;
_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.
};
A combined use of both invisible and visible data processing commands alive the Control.