---
title: "GenericButtons"
canonical: "https://docs.cuesystem.com/space/CVCGC/417234965/GenericButtons"
format: markdown
---
> Macro (toc)

---

# Description

This graphic collection includes six different types of buttons. All these buttons have the same graphics and differ in their behavior. Buttons are arbitrarily resizable.

Buttons have two possible graphic states – State Up and State Down. Moreover, it is possible to disable a button. In this case, the button appears semi-transparent (see picture below for possible states). You can set different graphic look for State Up and State Down (pushed).

Following figure shows how to create fully graphic button based on this object. Independent pictures and icons can be used for State Up and State Down as well as text font style, size and color. In addition both icons have OffsetX and OffsetY for precise positioning within the button.

![image](media://8768e30f-082b-4df5-ac7d-3dba19fd45f9)

The property IgnoreTransparentArea controls if transparent pixels of UpPicture (DownPicture) are ignored during button touch. If Yes (True) and UpPicture or DownPicture is set, no events are generated when touching transparent areas. Typically it is used for rounded buttons, where event is generated by touch to non-transparent area only. For example see figure below.

![image](media://5613b1e4-2fbf-418d-88ef-1b1f1c448918)

# Button Types

The following types of buttons are available. For more details see appropriate section below.

#### [PushButton](https://cue.atlassian.net/wiki/spaces/CVCGC/pages/419299329)

Simple button which generates event when it is pushed.

#### [TwoStatePushButton](https://cue.atlassian.net/wiki/spaces/CVCGC/pages/419987457)

Similar behavior like PushButton, but it has additional possibility to set State Down. It generates event when it is pushed.

#### [RepeatButton](https://cue.atlassian.net/wiki/spaces/CVCGC/pages/419397638)

Similar behavior like PushButton, but when a button is pushed it starts to generate event periodically until the button is released.

#### [ToggleButton](https://cue.atlassian.net/wiki/spaces/CVCGC/pages/419921921)

It has two stable states up and down, each push toggles between them and generates event.

#### [LongPressButton](https://cue.atlassian.net/wiki/spaces/CVCGC/pages/418316302)

Similar behavior like PushButton, in addition it enables users to distinguish between short and long press. Button generates event when it is pressed.

#### [RadioButton](https://cue.atlassian.net/wiki/spaces/CVCGC/pages/419495937)

Two-state type of button enables users to join more buttons to a group of “just one button” type. Every push generates event and sets State Down of this button and other joined buttons will go to the State Up.

## Requirements for Graphics

Graphical data (UpPicture and DownPicture) must comply with the following rules

- Left (L) and right (R) edge might be unique.
- Middle part (M) must be uniformed in horizontal direction.

![image](media://7f76137e-4f8a-4518-b431-bccb9f4469f3)

# Common Properties

|  |  |  |  |  |
| --- | --- | --- | --- | --- |
| Property Name | Data Type | Allowed Values | Default Value | Description |
| Behavior |
| Enabled | Boolean | Yes<br>No | Yes | Flag showing if button is enabled or not. |
| IgnoreTransparentArea | Boolean | Yes No | No | If Yes and UpPicture or DownPicture is set, no events are generated when touching transparent areas. See details in section Description. |
| Appearance |
| AspectRatioMaximum | Double | > 0 | 10.0 | Maximum ratio between graphical data width (W) and height (H) when final graphical result doesn’t show undesirable effects. Recommended value = (L + R + 2M) / H |
| AspectRatioMinimum | Double | > 0 | 1.0 | Minimum ratio between graphical data width (W) and height (H) when final graphical result doesn’t show undesirable effects. Recommended value = (L +R) / H |
| BevelWidth | Long |  | 4 | Width of 3D effect created by applying highlight and shadow colors. |
| ConstrainProportion | Boolean | True False | False | If True the object preserves the original proportions of pictures placed to the object. |
| SmartScaling | Boolean | True False | False | If True it keeps proportion of left and right edge. See section Requirements for Graphics. |

|  |  |  |  |  |
| --- | --- | --- | --- | --- |
| Property Name | Data Type | Allowed Values | Default Value | Description |
| Up |
| UpColor | Long | Any | &HFFC0C0C0 | Color of button in State Up |
| UpFont | AddressOf _Font | Any | fntDefault16 | UpText font. fntDefault16 is Verdana 16 pixels high. |
| UpFontColor | Long | Any | _COLOR_BLACK | Color of UpText |
| UpHighlightColor | Long | Any | _COLOR_WHITE | Color of highlight to make 3D effect. |
| UpIcon | AddressOf _Picture | Any | Nothing | Icon placed to button in State Up. |
| UpIconAlign | Long | Left-Top   
Left-Middle Left-Bottom Center-Top  
Center-Middle Center-Bottom Right-Top Right-Middle  
Right-Bottom | Center-Middle | Horizontal and vertical alignment of UpIcon |
| UpIconOffsetX | Long |  | 0 | Horizontal offset of UpIcon in pixels |
| UpIconOffsetY | Long |  | 0 | Vertical offset of UpIcon in pixels |
| UpLineSpacing | Double |  | 1.2 | Vertical distance between two lines of multiline content Text. The value is multiple of the font height. |
| UpPicture | AddressOf _Picture | Any | Nothing | Picture placed to button in State Up. |
| UpShadowColor | Long | Any | _COLOR_GREY | Color of shadow to make 3D effect. |
| UpText | AddressOf Text | Any | “Caption“ | Text shown on the button in State Up |
| UpTextAlign | Long | Left-Top   
Left-Middle Left-Bottom Center-Top  
Center-Middle Center-Bottom Right-Top Right-Middle  
Right-Bottom | Center-Middle | Horizontal and vertical align of UpText. See CVC help Commands/ BaseGraphicClass/DrawText for description of _TEXT_ALIGN... commands. |
| UpTextOffsetX | Long | Any | 0 | Horizontal offset of UpText in pixels. |
| UpTextOffsetY | Long | Any | 0 | Vertical offset of UpText in pixels. |

|  |  |  |  |  |
| --- | --- | --- | --- | --- |
| Property Name | Data Type | Allowed Values | Default Value | Description |
| Down |
| DownColor | Long | Any | UpColor | Color of button in State Down |
| DownFont | AddressOf _Font | Any | UpFont | DownText font. fntDefault16 is Verdana 16 pixels high. |
| DownFontColor | Long | Any | UpFontColor | Color of DownText |
| DownHighlightColor | Long | Any | UpHighlightColor | Color of highlight to make 3D effect. |
| DownIcon | AddressOf _Picture | Any | UpIcon | Icon placed to button in State Down |
| DownIconAlign | Long | Left-Top Left-Middle Left-Bottom Center-Top<br>Center-Middle Center-Bottom Right-Top Right-Middle<br>Right-Bottom | UpIconAlign | Horizontal and vertical alignment of DownIcon |
| DownIconOffsetX | Long |  | UpIconOffsetX | Horizontal offset of DownIcon in pixels |
| DownIconOffsetY | Long |  | UpIconOffsetY | Vertical offset of DownIcon in pixels |
| DownLineSpacing | Double |  | UpLineSpacing | Vertical distance between two lines of multiline content Text. The value is multiple of the font height. |
| DownPicture | AddressOf _Picture | Any | UpPicture | Picture placed to button in State Down. |
| DownShadowColor | Long | Any | UpShadowColor | Color of shadow to make 3D effect. |
| DownText | AddressOf Text | Any | UpText | Text shown on the button in State Down. |
| DownTextAlign | Long | Left-Top Left-Middle Left-Bottom Center-Top<br>Center-Middle Center-Bottom Right-Top Right-Middle<br>Right-Bottom | UpTextAlign | Horizontal and vertical align of DownText. See CVC help Commands/ BaseGraphicClass/DrawText for description of _TEXT_ALIGN... commands. |
| DownTextOffsetX | Long | Any | 0 | Horizontal offset of DownText in pixels. |
| DownTextOffsetY | Long | Any | 0 | Vertical offset of DownText in pixels. |

# Common Functions

## SetAspectRatioMaximum

This function sets AspectRatioMaximum to newaspectratiomaximum. Function returns True if newaspectratiomaximum >= AspectRatioMinimum, otherwise it returns False.

#### Syntax

```visualbasic
Function SetAspectRatioMaximum(newaspectratiomaximum As Double) As Boolean
```

## GetAspectRatioMaximum

This function returns current AspectRatioMaximum.

#### Syntax

```visualbasic
Function GetAspectRatioMaximum() As Double
```

## SetAspectRatioMinimum

This function sets AspectRatioMinimum to newaspectratiominimum. Function returns True if newaspectratiominimum <= AspectRatioMaximum, otherwise it returns False.

#### Syntax

```visualbasic
Function SetAspectRatioMinimum(newaspectratiominimum As Double) As Boolean
```

## GetAspectRatioMinimum

This function returns current AspectRatioMinimum.

#### Syntax

```visualbasic
Function GetAspectRatioMinimum() As Double
```

## SetBevelWidth

This function sets BevelWidth to newbevelwidth. Function returns True, if newbevelwidth <= Min(ObjectWidth / 2, ObjectHeight / 2), otherwise it returns False.

#### Syntax

```visualbasic
Function SetBevelWidth(newbevelwidth As Long) As Boolean
```

## GetBevelWidth

This function returns current BevelWidth.

#### Syntax

```visualbasic
Function GetBevelWidth() As Long
```

## SetConstrainProportion

This function sets ConstrainProportion to newconstrainproportion. Function returns True.

#### Syntax

```visualbasic
Function SetConstrainProportion(newconstrainproportion As Boolean) As Boolean
```

## GetConstrainProportion

This function returns current ConstrainProportion.

#### Syntax

```visualbasic
Function GetConstrainProportion() As Boolean
```

## SetEnabled

This function sets Enabled to newenabled. Function returns True.

#### Syntax

```visualbasic
Function SetEnabled(newenabled As Boolean) As Boolean
```

## GetEnabled

This function returns current Enabled.

#### Syntax

```visualbasic
Function GetEnabled() As Boolean
```

## SetIgnoreTransparentArea

This function sets IgnoreTransparentArea to newignoretransparentarea. Function returns True.

#### Syntax

```visualbasic
Function SetIgnoreTransparentArea(newignoretransparentarea As Boolean) As Boolean
```

## GetIgnoreTransparentArea

This function returns current IgnoreTransparentArea.

#### Syntax

```visualbasic
Function GetIgnoreTransparentArea() As Boolean
```

## SetSmartScaling

This function sets SmartScaling to newsmartscaling. Function returns True.

#### Syntax

```visualbasic
Function SetSmartScaling(newsmartscaling As Boolean) As Boolean
```

## GetSmartScaling

This function returns current SmartScaling.

#### Syntax

```visualbasic
Function GetSmartScaling() As Boolean
```

## SetDownColor

This function sets DownColor to newdowncolor. Function returns True.

#### Syntax

```visualbasic
Function SetDownColor(newdowncolor As Long) As Boolean
```

## GetDownColor

This function returns current DownColor.

#### Syntax

```visualbasic
Function GetDownColor() As Long
```

## SetDownFont

This function sets DownFont to newdownfont. Function returns True.

#### Syntax

```visualbasic
Function SetDownFont(newdownfont As AddressOf _Font) As Boolean
```

## GetDownFont

This function returns address of current DownFont.

#### Syntax

```visualbasic
Function GetDownFont() As AddressOf _Font
```

## SetDownFontColor

This function sets DownFontColor to newdownfontcolor. Function returns True.

#### Syntax

```visualbasic
Function SetDownFontColor(newdownfontcolor As Long) As Boolean
```

## GetDownFontColor

This function returns current DownFontColor.

#### Syntax

```visualbasic
Function GetDownFontColor() As Long
```

## SetDownHighlightColor

This function sets DownHighlightColor to newdownhighlightcolor. Function returns True.

#### Syntax

```visualbasic
Function SetDownHighlightColor(newdownhighlightcolor As Long) As Boolean
```

## GetDownHighlightColor

This function returns current DownHighlightColor.

#### Syntax

```visualbasic
Function GetDownHighlightColor() As Long
```

## SetDownIcon

This function sets DownIcon to newdownicon. Function returns True.

#### Syntax

```visualbasic
Function SetDownIcon(newdownicon As AddressOf _Picture) As Boolean
```

## GetDownIcon

This function returns address of current DownIcon.

#### Syntax

```visualbasic
Function GetDownIcon() As AddressOf _Picture
```

## SetDownIconAlign

This function sets Align of DownIcon. You can use meaningful BitOr combinations of the following constants as parameters

- ICON_ALIGNLEFT, ICON_ALIGNHCENTER, ICON_ALIGNRIGHT
- ICON_ALIGNTOP, ICON_ALIGNVCENTER, ICON_ALIGNBOTTOM

For example, if instance of PushButton is named PushButton1, you can use as parameter PushButton1.ICON_ALIGNLEFT BitOr PushButton1.ICON_ALIGNTOP for left top align.

The function returns True on success or False if an error occurs.

#### Syntax

```visualbasic
Function SetDownIconAlign(newdowniconalign As Long) As Boolean
```

## GetDownIconAlign

This function returns current DownIconAlign.

#### Syntax

```visualbasic
Function GetDownIconAlign() As Long
```

## SetDownIconOffsetX

This function sets DownIconOffsetX to newdowniconoffsetx. Function returns True.

#### Syntax

```visualbasic
Function SetDownIconOffsetX(newdowniconoffsetx As Long) As Boolean
```

## GetDownIconOffsetX

This function returns current DownIconOffsetX.

#### Syntax

```visualbasic
Function GetDownIconOffsetX() As Long
```

## SetDownIconOffsetY

This function sets DownIconOffsetY to newdowniconoffsety. Function returns True.

#### Syntax

```visualbasic
Function SetDownIconOffsetY(newdowniconoffsety As Long) As Boolean
```

## GetDownIconOffsetY

This function returns current DownIconOffsetY.

#### Syntax

```visualbasic
Function GetDownIconOffsetY() As Long
```

## SetDownLineSpacing

This function sets DownLineSpacing to newdownlinespacing. Function returns True.

#### Syntax

```visualbasic
Function SetDownLineSpacing(newdownlinespacing As Double) As Boolean
```

## GetDownLineSpacing

This function returns current DownLineSpacing.

#### Syntax

```visualbasic
Function GetDownLineSpacing() As Double
```

## SetDownPicture

This function sets DownPicture to newdownpicture. Function returns True.

#### Syntax

```visualbasic
Function SetDownPicture(newdownpicture As AddressOf _Picture) As Boolean
```

## GetDownPicture

This function returns address of current DownPicture.

#### Syntax

```visualbasic
Function GetDownPicture() As AddressOf _Picture
```

## SetDownShadowColor

This function sets DownShadowColor to newdownshadowcolor. Function returns True.

#### Syntax

```visualbasic
Function SetDownShadowColor(newdownshadowcolor As Long) As Boolean
```

## GetDownShadowColor

This function returns current DownShadowColor.

#### Syntax

```visualbasic
Function GetDownShadowColor() As Long
```

## SetDownText

This function sets DownText to newdowntext. Function returns True.

#### Syntax

```visualbasic
Function SetDownText(newdowntext As Text) As Boolean
```

## GetDownText

This function returns address of current DownText.

#### Syntax

```visualbasic
Function GetDownText() As AddressOf Text
```

## SetDownTextAlign

This function sets Align of DownText. You can use meaningful BitOr combinations of the following constants as parameters

- TEXT_ALIGNLEFT, TEXT_ALIGNHCENTER, TEXT_ALIGNRIGHT
- TEXT_ALIGNTOP, TEXT_ALIGNVCENTER, TEXT_ALIGNBOTTOM

For example you can use as parameter TEXT_ALIGNLEFT BitOr TEXT_ALIGNTOP for left top align. The function returns True on success or False if an error occurs.

#### Syntax

```visualbasic
Function SetDownTextAlign(newdowntextalign As Long) As Boolean
```

## GetDownTextAlign

This function returns current DownTextAlign.

#### Syntax

```visualbasic
Function GetDownTextAlign() As Long
```

## SetDownTextOffsetX

This function sets DownTextOffsetX to newdowntextoffsetx. Function returns True.

#### Syntax

```visualbasic
Function SetDownTextOffsetX(newdowntextoffsetx As Long) As Boolean
```

## GetDownTextOffsetX

This function returns current DownTextOffsetX.

#### Syntax

```visualbasic
Function GetDownTextOffsetX() As Long
```

## SetDownTextOffsetY

This function sets DownTextOffsetY to newdowntextoffsety. Function returns True.

#### Syntax

```visualbasic
Function SetDownTextOffsetY(newdowntextoffsety As Long) As Boolean
```

## GetDownTextOffsetY

This function returns current DownTextOffsetY.

#### Syntax

```visualbasic
Function GetDownTextOffsetY() As Long
```

## SetUpColor

This function sets UpColor to newupcolor. Function returns True.

#### Syntax

```visualbasic
Function SetUpColor(newupcolor As Long) As Boolean
```

## GetUpColor

This function returns current UpColor.

#### Syntax

```visualbasic
Function GetUpColor() As Long
```

## SetUpFont

This function sets UpFont to newupfont. Function returns True.

#### Syntax

```visualbasic
Function SetUpFont(newupfont As AddressOf _Font) As Boolean
```

## GetUpFont

This function returns address of current UpFont.

#### Syntax

```visualbasic
Function GetUpFont() As AddressOf _Font
```

## SetUpFontColor

This function sets UpFontColor to newupfontcolor. Function returns True.

#### Syntax

```visualbasic
Function SetUpFontColor(newupfontcolor As Long) As Boolean
```

## GetUpFontColor

This function returns current UpFontColor.

#### Syntax

```visualbasic
Function GetUpFontColor() As Long
```

## SetUpHighlightColor

This function sets UpHighlightColor to newuphighlightcolor. Function returns True.

#### Syntax

```visualbasic
Function SetUpHighlightColor(newuphighlightcolor As Long) As Boolean
```

## GetUpHighlightColor

This function returns current UpHighlightColor.

#### Syntax

```visualbasic
Function GetUpHighlightColor() As Long
```

## SetUpIcon

This function sets UpIcon to newupicon. Function returns True.

#### Syntax

```visualbasic
Function SetUpIcon(newupicon As AddressOf _Picture) As Boolean
```

## GetUpIcon

This function returns address of current UpIcon.

#### Syntax

```visualbasic
Function GetUpIcon() As AddressOf _Picture
```

## SetUpIconAlign

This function sets Align of UpIcon. You can use meaningful BitOr combinations of the following constants as parameters

- ICON_ALIGNLEFT, ICON_ALIGNHCENTER, ICON_ALIGNRIGHT
- ICON_ALIGNTOP, ICON_ALIGNVCENTER, ICON_ALIGNBOTTOM

For example, if instance of PushButton is named PushButton1, you can use as parameter PushButton1.ICON_ALIGNLEFT BitOr PushButton1.ICON_ALIGNTOP for left top align.

The function returns True on success or False if an error occurs.

#### Syntax

```visualbasic
Function SetUpIconAlign(newupiconalign As Long) As Boolean
```

## GetUpIconAlign

This function sets UpIconOffsetX to newupiconoffsetx. Function returns True.

#### Syntax

```visualbasic
Function GetUpIconAlign() As Long
```

## SetUpIconOffsetX

This function sets UpIconOffsetX to newupiconoffsetx. Function returns True.

#### Syntax

```visualbasic
SetUpIconOffsetX(newupiconoffsetx As Long) As Boolean
```

## GetUpIconOffsetX

This function returns current UpIconOffsetX.

#### Syntax

```visualbasic
Function GetUpIconOffsetX() As Long
```

## SetUpIconOffsetY

This function sets UpIconOffsetY to newupiconoffsety. Function returns True.

#### Syntax

```visualbasic
Function SetUpIconOffsetY(newupiconoffsety As Long) As Boolean
```

## GetUpIconOffsetY

This function returns current UpIconOffsetY.

#### Syntax

```visualbasic
Function GetUpIconOffsetY() As Long
```

## SetUpLineSpacing

This function sets UpLineSpacing to newuplinespacing. Function returns True.

#### Syntax

```visualbasic
Function SetUpLineSpacing(newuplinespacing As Double) As Boolean
```

## GetUpLineSpacing

This function returns current UpLineSpacing.

#### Syntax

```visualbasic
Function GetUpLineSpacing() As Double
```

## SetUpPicture

This function sets UpPicture to newuppicture. Function returns True.

#### Syntax

```visualbasic
Function SetUpPicture(newuppicture As AddressOf _Picture) As Boolean
```

## GetUpPicture

This function returns address of current UpPicture.

#### Syntax

```visualbasic
Function GetUpPicture() As AddressOf _Picture
```

## SetUpShadowColor

This function sets UpShadowColor to newupshadowcolor. Function returns True.

#### Syntax

```visualbasic
Function SetUpShadowColor(newupshadowcolor As Long) As Boolean
```

## GetUpShadowColor

This function returns current UpShadowColor.

#### Syntax

```visualbasic
Function GetUpShadowColor() As Long
```

## SetUpText

This function sets UpText to newuptext. Function returns True.

#### Syntax

```visualbasic
Function SetUpText(newuptext As Text) As Boolean
```

## GetUpText

This function returns address of current UpText.

#### Syntax

```visualbasic
Function GetUpText() As AddressOf Text
```

## SetUpTextAlign

This function sets Align of UpText. You can use meaningful BitOr combinations of the following constants as parameters

- TEXT_ALIGNLEFT, TEXT_ALIGNHCENTER, TEXT_ALIGNRIGHT
- TEXT_ALIGNTOP, TEXT_ALIGNVCENTER, TEXT_ALIGNBOTTOM

For example you can use as parameter TEXT_ALIGNLEFT BitOr TEXT_ALIGNTOP for left top align. The function returns True on success or False if an error occurs.

#### Syntax

```visualbasic
Function SetUpTextAlign(newuptextalign As Long) As Boolean
```

## GetUpTextAlign

This function returns current UpTextAlign.

#### Syntax

```visualbasic
Function GetUpTextAlign() As Long
```

## SetUpTextOffsetX

This function sets UpTextOffsetX to newuptextoffsetx. Function returns True.

#### Syntax

```visualbasic
Function SetUpTextOffsetX(newuptextoffsetx As Long) As Boolean
```

## GetUpTextOffsetX

This function returns current UpTextOffsetX.

#### Syntax

```visualbasic
Function GetUpTextOffsetX() As Long
```

## SetUpTextOffsetY

This function sets UpTextOffsetY to newuptextoffsety. Function returns True.

#### Syntax

```visualbasic
Function SetUpTextOffsetY(newuptextoffsety As Long) As Boolean
```

## GetUpTextOffsetY

This function returns current UpTextOffsetY.

#### Syntax

```visualbasic
Function GetUpTextOffsetY() As Long
```

## BringToFrontZOrder

This function temporarily brings the object to the very top position.

#### Syntax

```visualbasic
Function BringToFrontZOrder()
```

## RestoreZOrder

This function restores object’s z-order to value defined in design mode.

#### Syntax

```visualbasic
Function RestoreZOrder()
```