---
name: "CT XCOMBO"
type: topic
source: https://community.bistudio.com/wiki/CT_XCOMBO
revid: 255883
updated: 2021-04-24T19:58:22Z
---

# CT XCOMBO

### Introduction

Sideways [CT_COMBO](../topics/CT_COMBO.md).

#### Related commands & functions

- Commands: General
- Commands: UI Eventhandlers
- Commands: Listbox

#### Related User Interface Eventhandlers

- [Events: General](../topics/User_Interface_Event_Handlers.md#generic-events)
- [Events: Listbox](../topics/User_Interface_Event_Handlers.md#listbox-events)

### Alphabetical Order

> [!NOTE]
> TokenNames common to most controls, such as x, y, w, h, text, idc... can be found [**here**](../topics/Arma~3A_GUI_Configuration.md#common-properties).

> [!WARNING]
> Not all of the listed attributes might have an effect nor might the list be complete. All attributes were gathered with [this](https://github.com/7erra/BIKI.VR/blob/master/fnc/generateCTPage.sqf) config crawler.

```cpp
#define CT_XCOMBO 44
```

#### C

##### colorBorder

**Type:** Array

**Description:** n/a

```cpp
colorBorder[] = {1,0,1,1};
```

##### colorDisabledBorder

**Type:** Array

**Description:** n/a

```cpp
colorDisabledBorder[] = {0,1,1,1};
```

##### colorSelect

**Type:** Array

**Description:** n/a

```cpp
colorSelect[] = {1,1,1,1};
```

##### colorSelect2

**Type:** Array

**Description:** n/a

```cpp
colorSelect2[] = {1,1,1,1};
```

##### colorSelectBackground2

**Type:** Array

**Description:** n/a

```cpp
colorSelectBackground2[] = {0,0,0,1};
```

##### colorSelectBorder

**Type:** Array

**Description:** n/a

```cpp
colorSelectBorder[] = {1,1,1,1};
```

#### L

##### List

**Type:** Class

**Description:** n/a

```cpp
class List
{
    x = "22 * (((safezoneW  / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
    y = "22 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
    w = "10 * (((safezoneW  / safezoneH) min 1.2) / 40)";
    h = " 5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
    colorBackground[] = {0.2,0.2,0.2,1};
    colorSelectBackground[] = {1,0.5,0,1};
    colorBorder[] = {1,1,1,1};
    rowHeight = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
    sizeEx = "((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
    colorText[] = {1,1,1,1};
    colorSelect[] = {1,1,1,1};
};
```

#### S

##### soundCollapse

**Type:** Array

**Description:** n/a

```cpp
soundCollapse[] = {"\A3\ui_f\data\sound\RscCombo\soundCollapse",0.1,1};
```

##### soundExpand

**Type:** Array

**Description:** n/a

```cpp
soundExpand[] = {"\A3\ui_f\data\sound\RscCombo\soundExpand",0.1,1};
```

##### soundSelect

**Type:** Array

**Description:** n/a

```cpp
soundSelect[] = {"\A3\ui_f\data\sound\RscCombo\soundSelect",0.1,1};
```

#### T

##### Title

**Type:** Class

**Description:** n/a

```cpp
class Title
{
    text = "CT_XCOMBO";
    x = "12 * (((safezoneW  / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2)) / 2)";
    y = "21 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2)) / 2)";
    w = "10 * (((safezoneW  / safezoneH) min 1.2) / 40)";
    h = " 1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
    colorBackground[] = {0.2,0.2,0.2,1};
    colorSelectBackground[] = {1,0.5,0,1};
    colorBorder[] = {0,0,0,1};
    colorSelectBorder[] = {0,0,0,1};
    colorDisabledBorder[] = {1,1,1,1};
    font = "RobotoCondensed";
    size = "((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
    colorText[] = {1,1,1,1};
    colorSelect[] = {1,1,1,1};
    colorDisabled[] = {1,1,1,0.5};
};
```

### Default Classes

> [!NOTE]
> **Arma 3:** **AddOns:** Classes need to be initialised first with `class SomeClass;`
>
> ---
>
> **Missions:** Since Arma 3 v2.02 one can use `import SomeClass;` to initialise a class (see the [import](../topics/import_~28Config~29.md) keyword).
>
> In older versions, use `"Default" call BIS_fnc_exportGUIBaseClasses;` and paste the result into the [description.ext](../topics/Description.ext.md).

None

### Other examples

```cpp
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";
};
```

<sub>Source: [BI Community Wiki — CT XCOMBO](https://community.bistudio.com/wiki/CT_XCOMBO) (revision 255883).</sub>
