List Box: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(→‎LISTNBOX: Fixed formatting. Wiki prefers tab indenting rather than space.)
Tag: New redirect
Line 1: Line 1:
=LISTBOX=
#redirect [[DialogControls-ListBoxes#Scripting_Examples]]
 
(A3 1.28)lb command family overview.
<code>
//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;
[[File: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]];
[[File:WuChaoRen_lbColor.png]]
[[lbSort]] [_ctrl, "DESC"];
[[lbSortByValue]] _ctrl;
[[File:WuChaoRen_lbSortByValue.png]]
[[if]] (_ctrl [[lbIsSelected]] _current) [[then]] {
  _ctrl [[lbDelete]] _current;
  [[File:WuChaoRen_lbDelete.png]]
  [[lbClear]] _ctrl;
  [[File:WuChaoRen_lbClear.png]]
};
} [[forEach]] [
_CT_COMBO,
_CT_LISTBOX,
_CT_XLISTBOX,
_CT_XCOMBO
];
</code>
 
=LISTNBOX=
 
(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:
<code>
//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
</code>
For a direct visible control over CT_LISTNBOX:
<code>
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;
[[Image: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] ];
[[Image:WuChaoRen_001.png]]
_CT_LISTNBOX [[lnbDeleteColumn]] 0;
[[Image:WuChaoRen_002.png]]
_CT_LISTNBOX [[lnbDeleteRow]] 1;
[[Image:WuChaoRen_003.png]]
[[sleep]] 1;
[[lnbClear]] _CT_LISTNBOX;//Clear all items but control still remains just invisible.
};
</code>
A combined use of both invisible and visible data processing commands alive the [[Control]].

Revision as of 10:04, 7 March 2020