List Box

From Bohemia Interactive Community
Jump to navigation Jump to search


(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; WuChaoRen lbCommand001.png _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]]; WuChaoRen lbColor.png lbSort [_ctrl, "DESC"]; lbSortByValue _ctrl; WuChaoRen lbSortByValue.png if (_ctrl lbIsSelected _current) then { _ctrl lbDelete _current; WuChaoRen lbDelete.png lbClear _ctrl; WuChaoRen lbClear.png }; } forEach [ _CT_COMBO, _CT_LISTBOX, _CT_XLISTBOX, _CT_XCOMBO ];


(A3 1.28)As for invisible data processing, lnbAddArray, lnbAddColumn, lnbData, lnbGetColumnsPosition, lnbSetColumnsPos, lnbSetData, lnbSetText, lnbSetValue, lnbText and lnbValue store data types into exact position of the 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: 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; WuChaoRen 000.png _current = lnbCurSelRow _CT_LISTNBOX; _color = _CT_LISTNBOX lnbColor [_current,0]; _CT_LISTNBOX lnbSetColor [ [_current,1], [(_color select 0)/2,0,0,1] ]; WuChaoRen 001.png _CT_LISTNBOX lnbDeleteColumn 0; WuChaoRen 002.png _CT_LISTNBOX lnbDeleteRow 1; WuChaoRen 003.png 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.