DialogControls-ListBoxes
Attributes
The following tokenNames are valid for:
- CT_LISTBOX=5
- CT_XLISTBOX=42
- CT_LISTNBOX=102
- CT_XCOMBO=44
For listBoxes, the usage of 'ST_' style constants (ST_MULTI & ST_TITLE_BAR) behave differently than expected for other controls, so use the corresponding 'LB_' (LB_TEXTURES & LB_MULTI) list box style variants instead.
style = LB_TEXTURES; // solid scrollbar style = LB_MULTI; // multiple item selection
Properties | Applies to | ||||
---|---|---|---|---|---|
Name | Type | Remark | 5 | 42 | 102 |
active | boolean | x | |||
autoScroll... | integers | applies to Speed,Delay,Rewind | x | x | |
arrowEmpty/Full | color | x | x | x | |
border | texture | x | |||
canDrag | boolean | x | x | ||
colorScrollbar | color | x | |||
color | color | x | |||
colorPlayerItem | color | x | |||
colorActive | color | x | |||
colorDisabled | color | x | |||
colorSelect | color | x | x | x | |
colorSelect2 | color | x | x | ||
colorSelectBackground | color | x | x | ||
colorSelectBackground2 | color | x | x | ||
columns | float array | define the left starting position of each column. The values are offsets ratios (not spacing ratios). Tip: Use {-0.01} in first column to fix unwanted offset, if desired. | x | ||
disabled/enabled | boolean | x | |||
disabledCtrlColor | color | x | |||
drawSideArrows | boolean | Each row can be linked to 2 arrow buttons which are shown on the left and right of the row. | x | ||
idcLeft/Right | integer | the IDC of the control to be used for the left/right button. | x | ||
mainCollumW | float | width of the left column 0..1; default 0.4 - Only relevant to config keys dialog (type = 5; idc = 102) | x | ||
secndCollumW | float | width of the right column 0..1; default 0.6 - Only relevant to config keys dialog (type = 5; idc = 102) | x | ||
disabledKeyColor | color | color of the disabled key binding; default {0.3,0.3,0.3,1} - Only relevant to config keys dialog (type = 5; idc = 102) | x | ||
collisionColor | color | color of the collision key binding; default {1,0,0,1} - Only relevant to config keys dialog (type = 5; idc = 102) | x | ||
LineSpacing | float | x | |||
maxHistoryDelay | float | x | x | ||
period | float | Flash period | x | x | |
rowHeight | float | the height of a single row in the elapsed box. | x | x | |
rows | integer | x | |||
SoundSelect | class | x | x | x | |
ListScrollBar (Arma 3 only) | class | see DialogControls-Sliders | x | x | |
ScrollBar | class | see DialogControls-Sliders | x | x | |
xColumn1,2,3 | float | x | |||
disableOverflow | boolean | Don't allow text to continue in next column | x | ||
selectWithRMB | boolean | DEV Enable row selection with the right mouse button | x | x | |
items | class | Default entries for the listbox columns.
class items
{
class Presence
{
text = "This is column1";
value = 1; // lnbValue
data = "value"; // lnbData
};
class Name
{
text = "This is column 2";
value = -1;
};
};
|
x |
RscListNBox
- Using -1 for idcLeft/idcRight will use the full row width. Using a valid idc will reserve sides for arrows and link with those controls.
- idcLeft/idcRight bug?: Using -1 for either idc will link to first control with an idc using -1, instead of treating it as an unused idc. Workaround: number every idc in dialog rather than leaving any idc as -1.
RscListBox
class RscListBox
{
access = 0;
type = 5;
style = 0;
w = 0.4;
h = 0.4;
font = "TahomaB";
sizeEx = 0.04;
rowHeight = 0;
colorText[] = {1,1,1,1};
colorScrollbar[] = {1,1,1,1};
colorSelect[] = {0,0,0,1};
colorSelect2[] = {1,0.5,0,1};
colorSelectBackground[] = {0.6,0.6,0.6,1};
colorSelectBackground2[] = {0.2,0.2,0.2,1};
colorBackground[] = {0,0,0,1};
maxHistoryDelay = 1.0;
soundSelect[] = {"",0.1,1};
period = 1;
autoScrollSpeed = -1;
autoScrollDelay = 5;
autoScrollRewind = 0;
arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)";
arrowFull = "#(argb,8,8,3)color(1,1,1,1)";
shadow = 0;
class ListScrollBar : ScrollBar //ListScrollBar is class name required for Arma 3
{
color[] = {1,1,1,0.6};
colorActive[] = {1,1,1,1};
colorDisabled[] = {1,1,1,0.3};
thumb = "#(argb,8,8,3)color(1,1,1,1)";
arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)";
arrowFull = "#(argb,8,8,3)color(1,1,1,1)";
border = "#(argb,8,8,3)color(1,1,1,1)";
shadow = 0;
};
};
RscXListBox
class RscXListBox
{
type = 42;
color[] = {1,1,1,0.6};
colorActive[] = {1,1,1,1};
colorDisabled[] = {1,1,1,0.3};
arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)";
arrowFull = "#(argb,8,8,3)color(1,0.5,0,1)";
border = "#(argb,8,8,3)color(0,0,0,1)";
colorSelect[] = {1,1,1,1};
colorText[] = {1,1,1,0.8};
soundSelect[] = {"",0.1,1};
};
RscListNBox
class RscListNBox
{
access = 0;
type = CT_LISTNBOX;// 102;
style =ST_MULTI;
w = 0.4; h = 0.4;
font = "TahomaB";
sizeEx = 0.04;
colorText[] = {0.8784, 0.8471, 0.651, 1};
colorBackground[] = {0, 0, 0, 1};
autoScrollSpeed = -1;
autoScrollDelay = 5;
autoScrollRewind = 0;
arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)";
arrowFull = "#(argb,8,8,3)color(1,1,1,1)";
columns[] = {0.3, 0.6, 0.7};
color[] = {1, 1, 1, 1};
colorScrollbar[] = {0.95, 0.95, 0.95, 1};
colorSelect[] = {0.95, 0.95, 0.95, 1};
colorSelect2[] = {0.95, 0.95, 0.95, 1};
colorSelectBackground[] = {0, 0, 0, 1};
colorSelectBackground2[] = {0.8784, 0.8471, 0.651, 1};
drawSideArrows = 0;
idcLeft = -1;
idcRight = -1;
maxHistoryDelay = 1;
rowHeight = 0;
soundSelect[] = {"", 0.1, 1};
period = 1;
shadow = 2;
class ScrollBar
{
arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)";
arrowFull = "#(argb,8,8,3)color(1,1,1,1)";
border = "#(argb,8,8,3)color(1,1,1,1)";
color[] = {1,1,1,0.6};
colorActive[] = {1,1,1,1};
colorDisabled[] = {1,1,1,0.3};
thumb = "#(argb,8,8,3)color(1,1,1,1)";
};
};
Templates
RscListBox (A3 1.28 Template)
class _CT_LISTBOX
{
access = 0; // Control access (0 - ReadAndWrite, 1 - ReadAndCreate, 2 - ReadOnly, 3 - ReadOnlyVerified)
idc = CT_LISTBOX; // Control identification (without it, the control won't be displayed)
type = CT_LISTBOX; // Type is 5
style = ST_LEFT + LB_TEXTURES; // Style
default = 0; // Control selected by default (only one within a display can be used)
blinkingPeriod = 0; // Time in which control will fade out and back in. Use 0 to disable the effect.
x = 1 * GUI_GRID_CENTER_W + GUI_GRID_CENTER_X; // Horizontal coordinates
y = 11 * GUI_GRID_CENTER_H + GUI_GRID_CENTER_Y; // Vertical coordinates
w = 10 * GUI_GRID_CENTER_W; // Width
h = 3 * GUI_GRID_CENTER_H; // Height
colorBackground[] = {0.2,0.2,0.2,1}; // Fill color
colorSelectBackground[] = {1,0.5,0,1}; // Selected item fill color
colorSelectBackground2[] = {0,0,0,1}; // Selected item fill color (oscillates between this and colorSelectBackground)
sizeEx = GUI_GRID_CENTER_H; // Text size
font = GUI_FONT_NORMAL; // Font from CfgFontFamilies
shadow = 0; // Shadow (0 - none, 1 - directional, color affected by colorShadow, 2 - black outline)
colorText[] = {1,1,1,1}; // Text and frame color
colorDisabled[] = {1,1,1,0.5}; // Disabled text color
colorSelect[] = {1,1,1,1}; // Text selection color
colorSelect2[] = {1,1,1,1}; // Text selection color (oscillates between this and colorSelect)
colorShadow[] = {0,0,0,0.5}; // Text shadow color (used only when shadow is 1)
pictureColor[] = {1,0.5,0,1}; // Picture color
pictureColorSelect[] = {1,1,1,1}; // Selected picture color
pictureColorDisabled[] = {1,1,1,0.5}; // Disabled picture color
tooltip = "CT_LISTBOX"; // Tooltip text
tooltipColorShade[] = {0,0,0,1}; // Tooltip background color
tooltipColorText[] = {1,1,1,1}; // Tooltip text color
tooltipColorBox[] = {1,1,1,1}; // Tooltip frame color
period = 1; // Oscillation time between colorSelect/colorSelectBackground2 and colorSelect2/colorSelectBackground when selected
rowHeight = 1.5 * GUI_GRID_CENTER_H; // Row height
itemSpacing = 0; // Height of empty space between items
maxHistoryDelay = 1; // Time since last keyboard type search to reset it
canDrag = 1; // 1 (true) to allow item dragging
soundSelect[] = {"\A3\ui_f\data\sound\RscListbox\soundSelect",0.09,1}; // Sound played when an item is selected
// Scrollbar configuration (applied only when LB_TEXTURES style is used)
class ListScrollBar //In older games this class is "ScrollBar"
{
width = 0; // width of ListScrollBar
height = 0; // height of ListScrollBar
scrollSpeed = 0.01; // scroll speed of ListScrollBar
arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; // Arrow
arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; // Arrow when clicked on
border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa"; // Slider background (stretched vertically)
thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa"; // Dragging element (stretched vertically)
color[] = {1,1,1,1}; // Scrollbar color
};
onCanDestroy = "systemChat str ['onCanDestroy',_this]; true";
onDestroy = "systemChat str ['onDestroy',_this]; false";
onSetFocus = "systemChat str ['onSetFocus',_this]; false";
onKillFocus = "systemChat str ['onKillFocus',_this]; false";
onKeyDown = "systemChat str ['onKeyDown',_this]; false";
onKeyUp = "systemChat str ['onKeyUp',_this]; false";
onMouseButtonDown = "systemChat str ['onMouseButtonDown',_this]; false";
onMouseButtonUp = "systemChat str ['onMouseButtonUp',_this]; false";
onMouseButtonClick = "systemChat str ['onMouseButtonClick',_this]; false";
onMouseButtonDblClick = "systemChat str ['onMouseButtonDblClick',_this]; false";
onMouseZChanged = "systemChat str ['onMouseZChanged',_this]; false";
onMouseMoving = "";
onMouseHolding = "";
onLBSelChanged = "systemChat str ['onLBSelChanged',_this]; false";
onLBDblClick = "systemChat str ['onLBDblClick',_this]; false";
onLBDrag = "systemChat str ['onLBDrag',_this]; false";
onLBDragging = "systemChat str ['onLBDragging',_this]; false";
onLBDrop = "systemChat str ['onLBDrop',_this]; false";
};
RscXListBox (A3 1.28 Template)
class _CT_XLISTBOX
{
access = 0; // Control access (0 - ReadAndWrite, 1 - ReadAndCreate, 2 - ReadOnly, 3 - ReadOnlyVerified)
idc = CT_XLISTBOX; // Control identification (without it, the control won't be displayed)
type = CT_XLISTBOX; // Type is 42
style = SL_HORZ + ST_CENTER + LB_TEXTURES; // Style
default = 0; // Control selected by default (only one within a display can be used)
blinkingPeriod = 0; // Time in which control will fade out and back in. Use 0 to disable the effect.
x = 12 * GUI_GRID_CENTER_W + GUI_GRID_CENTER_X; // Horizontal coordinates
y = 17 * GUI_GRID_CENTER_H + GUI_GRID_CENTER_Y; // Vertical coordinates
w = 10 * GUI_GRID_CENTER_W; // Width
h = 1 * GUI_GRID_CENTER_H; // Height
color[] = {1,1,1,1}; // Arrow color
colorActive[] = {1,0.5,0,1}; // Selected arrow color
sizeEx = GUI_GRID_CENTER_H; // Text size
font = GUI_FONT_NORMAL; // Font from CfgFontFamilies
shadow = 0; // Shadow (0 - none, 1 - N/A, 2 - black outline)
colorText[] = {1,1,1,1}; // Text color
colorSelect[] = {1,0.5,0,1}; // Selected text color
colorDisabled[] = {1,1,1,0.5}; // Disabled text color
tooltip = "CT_XLISTBOX"; // Tooltip text
tooltipColorShade[] = {0,0,0,1}; // Tooltip background color
tooltipColorText[] = {1,1,1,1}; // Tooltip text color
tooltipColorBox[] = {1,1,1,1}; // Tooltip frame color
arrowEmpty = "\A3\ui_f\data\gui\cfg\slider\arrowEmpty_ca.paa"; // Arrow
arrowFull = "\A3\ui_f\data\gui\cfg\slider\arrowFull_ca.paa"; // Arrow when clicked on
border = "\A3\ui_f\data\gui\cfg\slider\border_ca.paa"; // Fill texture
soundSelect[] = {"\A3\ui_f\data\sound\RscListbox\soundSelect",0.09,1}; // Sound played when an item is selected
onCanDestroy = "systemChat str ['onCanDestroy',_this]; true";
onDestroy = "systemChat str ['onDestroy',_this]; false";
onSetFocus = "systemChat str ['onSetFocus',_this]; false";
onKillFocus = "systemChat str ['onKillFocus',_this]; false";
onKeyDown = "systemChat str ['onKeyDown',_this]; false";
onKeyUp = "systemChat str ['onKeyUp',_this]; false";
onMouseButtonDown = "systemChat str ['onMouseButtonDown',_this]; false";
onMouseButtonUp = "systemChat str ['onMouseButtonUp',_this]; false";
onMouseButtonClick = "systemChat str ['onMouseButtonClick',_this]; false";
onMouseButtonDblClick = "systemChat str ['onMouseButtonDblClick',_this]; false";
onMouseZChanged = "systemChat str ['onMouseZChanged',_this]; false";
onMouseMoving = "";
onMouseHolding = "";
onLBSelChanged = "systemChat str ['onLBSelChanged',_this]; false";
onLBDblClick = "systemChat str ['onLBDblClick',_this]; false";
};
RscListNBox (A3 1.28 Template)
class _CT_LISTNBOX_RIGHT: _CT_BUTTON
{
idc = 1000;
text = "<";
borderSize = 0;
colorShadow[] = {0,0,0,0};
};
class _CT_LISTNBOX_LEFT: _CT_LISTNBOX_RIGHT
{
idc = 1001;
text = ">";
};
class _CT_LISTNBOX
{
access = 0; // Control access (0 - ReadAndWrite, 1 - ReadAndCreate, 2 - ReadOnly, 3 - ReadOnlyVerified)
idc = CT_LISTNBOX; // Control identification (without it, the control won't be displayed)
type = CT_LISTNBOX; // Type 102
style = ST_LEFT + LB_TEXTURES; // Style
default = 0; // Control selected by default (only one within a display can be used)
blinkingPeriod = 0; // Time in which control will fade out and back in. Use 0 to disable the effect.
x = 29 * GUI_GRID_CENTER_W + GUI_GRID_CENTER_X; // Horizontal coordinates
y = 15 * GUI_GRID_CENTER_H + GUI_GRID_CENTER_Y; // Vertical coordinates
w = 10 * GUI_GRID_CENTER_W; // Width
h = 3 * GUI_GRID_CENTER_H; // Height
colorSelectBackground[] = {1,0.5,0,1}; // Selected item fill color
colorSelectBackground2[] = {0,0,0,1}; // Selected item fill color (oscillates between this and colorSelectBackground)
sizeEx = GUI_GRID_CENTER_H; // Text size
font = GUI_FONT_NORMAL; // Font from CfgFontFamilies
shadow = 0; // Shadow (0 - none, 1 - directional, color affected by colorShadow, 2 - black outline)
colorText[] = {1,1,1,1}; // Text and frame color
colorDisabled[] = {1,1,1,0.5}; // Disabled text color
colorSelect[] = {1,1,1,1}; // Text selection color
colorSelect2[] = {1,1,1,1}; // Text selection color (oscillates between this and colorSelect)
colorShadow[] = {0,0,0,0.5}; // Text shadow color (used only when shadow is 1)
tooltip = "CT_LISTNBOX"; // Tooltip text
tooltipColorShade[] = {0,0,0,1}; // Tooltip background color
tooltipColorText[] = {1,1,1,1}; // Tooltip text color
tooltipColorBox[] = {1,1,1,1}; // Tooltip frame color
columns[] = {0.1,0.4}; // Horizontal coordinates of columns (relative to list width, in range from 0 to 1)
drawSideArrows = 1; // 1 to draw buttons linked by idcLeft and idcRight on both sides of selected line. They are resized to line height
idcLeft = 1000; // Left button IDC
idcRight = 1001; // Right button IDC
period = 1; // Oscillation time between colorSelect/colorSelectBackground2 and colorSelect2/colorSelectBackground when selected
rowHeight = GUI_GRID_CENTER_H; // Row height
maxHistoryDelay = 1; // Time since last keyboard type search to reset it
soundSelect[] = {"\A3\ui_f\data\sound\RscListbox\soundSelect",0.09,1}; // Sound played when an item is selected
// Scrollbar configuration (applied only when LB_TEXTURES style is used)
class ListScrollBar
{
width = 0; // width of ListScrollBar
height = 0; // height of ListScrollBar
scrollSpeed = 0.01; // scrollSpeed of ListScrollBar
arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; // Arrow
arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; // Arrow when clicked on
border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa"; // Slider background (stretched vertically)
thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa"; // Dragging element (stretched vertically)
color[] = {1,1,1,1}; // Scrollbar color
};
onCanDestroy = "systemChat str ['onCanDestroy',_this]; true";
onDestroy = "systemChat str ['onDestroy',_this]; false";
onSetFocus = "systemChat str ['onSetFocus',_this]; false";
onKillFocus = "systemChat str ['onKillFocus',_this]; false";
onKeyDown = "systemChat str ['onKeyDown',_this]; false";
onKeyUp = "systemChat str ['onKeyUp',_this]; false";
onMouseButtonDown = "systemChat str ['onMouseButtonDown',_this]; false";
onMouseButtonUp = "systemChat str ['onMouseButtonUp',_this]; false";
onMouseButtonClick = "systemChat str ['onMouseButtonClick',_this]; false";
onMouseButtonDblClick = "systemChat str ['onMouseButtonDblClick',_this]; false";
onMouseZChanged = "systemChat str ['onMouseZChanged',_this]; false";
onMouseMoving = "";
onMouseHolding = "";
onLBSelChanged = "systemChat str ['onLBSelChanged',_this]; false";
onLBDblClick = "systemChat str ['onLBDblClick',_this]; false";
};
RscXComboBox (A3 1.28 Template)
class _CT_XCOMBO // Xbox combo box, cannot be controlled with mouse
{
access = 0; // Control access (0 - ReadAndWrite, 1 - ReadAndCreate, 2 - ReadOnly, 3 - ReadOnlyVerified)
idc = CT_XCOMBO; // Control identification (without it, the control won't be displayed)
type = CT_XCOMBO; // Type is 44
style = ST_LEFT + LB_TEXTURES; // Style
default = 0; // Control selected by default (only one within a display can be used)
blinkingPeriod = 0; // Time in which control will fade out and back in. Use 0 to disable the effect.
x = 12 * GUI_GRID_CENTER_W + GUI_GRID_CENTER_X; // Horizontal coordinates
y = 22 * GUI_GRID_CENTER_H + GUI_GRID_CENTER_Y; // Vertical coordinates
w = 10 * GUI_GRID_CENTER_W; // Width
h = 1 * GUI_GRID_CENTER_H; // Height
colorSelectBackground2[] = {0,0,0,1}; // Selected fill color (oscillates between this and List >> colorSelectBackground)
colorBorder[] = {1,0,1,1}; // arrow color
colorSelectBorder[] = {1,1,1,1}; // Selected arrow color
colorDisabledBorder[] = {0,1,1,1}; // arrow color when disabled
sizeEx = GUI_GRID_CENTER_H; // Text size
font = GUI_FONT_NORMAL; // Font from CfgFontFamilies
shadow = 0; // Shadow (0 - none, 1 - N/A, 2 - black outline)
colorText[] = {1,1,1,1}; // Text color
colorSelect[] = {1,1,1,1}; // Selected text color
colorSelect2[] = {1,1,1,1}; // Selected text color (oscillates between this and colorSelect)
colorDisabled[] = {1,1,1,0.5}; // Disabled text color
tooltip = "CT_XCOMBO"; // Tooltip text
tooltipColorShade[] = {0,0,0,1}; // Tooltip background color
tooltipColorText[] = {1,1,1,1}; // Tooltip text color
tooltipColorBox[] = {1,1,1,1}; // Tooltip frame color
soundExpand[] = {"\A3\ui_f\data\sound\RscCombo\soundExpand",0.1,1}; // Sound played when the list is expanded
soundCollapse[] = {"\A3\ui_f\data\sound\RscCombo\soundCollapse",0.1,1}; // Sound played when the list is collapsed
soundSelect[] = {"\A3\ui_f\data\sound\RscCombo\soundSelect",0.1,1}; // Sound played when an item is selected
// List title (not moved when display is dragged)
class Title
{
text = "CT_XCOMBO";
x = 12 * GUI_GRID_CENTER_W + GUI_GRID_CENTER_X; // Horizontal coordinates
y = 21 * GUI_GRID_CENTER_H + GUI_GRID_CENTER_Y; // Vertical coordinates
w = 10 * GUI_GRID_CENTER_W; // Width
h = 1 * GUI_GRID_CENTER_H; // Height
colorBackground[] = {0.2,0.2,0.2,1}; // Fill color
colorSelectBackground[] = {1,0.5,0,1}; // Selected item fill color
colorBorder[] = {0,0,0,1}; // Border color
colorSelectBorder[] = {0,0,0,1}; // Selected border color
colorDisabledBorder[] = {1,1,1,1}; // Disabled border color
font = GUI_FONT_NORMAL; // Font from CfgFontFamilies
size = GUI_GRID_CENTER_H; // Text size
colorText[] = {1,1,1,1}; // Text color
colorSelect[] = {1,1,1,1}; // Selected text color
colorDisabled[] = {1,1,1,0.5}; // Disabled text color
};
// Item list displayed when arrow right is pressed while the control is in focus (not moved when display is dragged)
class List
{
x = 22 * GUI_GRID_CENTER_W + GUI_GRID_CENTER_X; // Horizontal coordinates
y = 22 * GUI_GRID_CENTER_H + GUI_GRID_CENTER_Y; // Vertical coordinates
w = 10 * GUI_GRID_CENTER_W; // Width
h = 5 * GUI_GRID_CENTER_H; // Height
colorBackground[] = {0.2,0.2,0.2,1}; // List fill color
colorSelectBackground[] = {1,0.5,0,1}; // Selected item fill color (oscillates between this and colorSelectBackground2 in control root)
colorBorder[] = {1,1,1,1}; // List scrollbar color (combined with Scrollbar >> color)
rowHeight = 1 * GUI_GRID_CENTER_H; // Row height
sizeEx = GUI_GRID_CENTER_H; // Text size
colorText[] = {1,1,1,1}; // Text color
colorSelect[] = {1,1,1,1}; // Selected text color (oscillates between this and colorSelect2 in control root)
};
// Scrollbar configuration (applied only when LB_TEXTURES style is used)
class ScrollBar
{
width = 0; // width of scrollBar
height = 0; // height of scrollbar
scrollSpeed = 0.01; // speed of scroll bar
arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; // Arrow
arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; // Arrow when clicked on
border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa"; // Slider background (stretched vertically)
thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa"; // Dragging element (stretched vertically)
color[] = {1,1,1,1}; // Scrollbar color (combined with List >> colorBorder)
};
onCanDestroy = "systemChat str ['onCanDestroy',_this]; true";
onDestroy = "systemChat str ['onDestroy',_this]; false";
onMouseEnter = "systemChat str ['onMouseEnter',_this]; false";
onMouseExit = "systemChat str ['onMouseExit',_this]; false";
onSetFocus = "systemChat str ['onSetFocus',_this]; false";
onKillFocus = "systemChat str ['onKillFocus',_this]; false";
onKeyDown = "systemChat str ['onKeyDown',_this]; false";
onKeyUp = "systemChat str ['onKeyUp',_this]; false";
onMouseButtonDown = "systemChat str ['onMouseButtonDown',_this]; false";
onMouseButtonUp = "systemChat str ['onMouseButtonUp',_this]; false";
onMouseButtonClick = "systemChat str ['onMouseButtonClick',_this]; false";
onMouseButtonDblClick = "systemChat str ['onMouseButtonDblClick',_this]; false";
onMouseZChanged = "systemChat str ['onMouseZChanged',_this]; false";
onMouseMoving = "";
onMouseHolding = "";
onLBSelChanged = "systemChat str ['onLBSelChanged',_this]; false";
onLBDblClick = "systemChat str ['onLBDblClick',_this]; false";
onLBListSelChanged = "systemChat str ['onLBListSelChanged',_this]; false";
};
Scripting Examples
CT_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
];
CT_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:
//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.