Gambas Documentation
Documents

UserControl (gb.qt4)

This class is the parent of all controls programmed in Gambas.

It is actually a Container, so that you can create a new control by mixing many other ones.

Warning about events:
Currently a UserControl may not emit all the same events as a Control or a Container does, even though the IDE offers the events in the editor.

There are many gambas controls (gb.form / gb.gui.base) that inherit UserControl and may be a combination of other controls.
For example a ButtonBox is made by creating a MaskBox and a ToolButton inside a DrawingArea.

With these some internal events may or may not be triggered by the overlaying container.
For example clicking the ButtonBox button will trigger the internal ToolButton_MouseUp event but may not trigger the overlaying ButtonBox_MouseUp event.

So only the non-inherited events listed for each UserControl can be truly relied on.
The Events (inherited) part below does not mean those events will trigger.
The control is a container so it technically does have these events but the part of the control you interact with might not.

This class inherits Container.

This class is not creatable.

Inherited properties
Action   Returns or sets the action string associated with the control.
Background   Returns or sets the background color used by the control.
Children   Returns a collection of each control included in the container.
ClientH   A synonymous for the ClientHeight property.
ClientHeight   Returns the height of the area containing the controls.
ClientW   A synonymous for the ClientWidth property.
ClientWidth   Returns the width of the area containing the controls.
ClientX   Returns the position of the left border of the area containing the controls.
ClientY   Returns the position of the top border of the area containing the controls.
Cursor   Use this property for assigning a custom cursor to a control.
Design   Indicates that the control is in design mode.
Direction   Return or set the control text direction.
Drop   Returns or sets if a control accepts drops.
Enabled   Indicates that the control is enabled.
Expand   Returns or sets if a control will expand if included in a container that arranges its contents.
Font   Returns or sets the font used to draw text in the control.
Foreground   Returns or sets the foreground color used by the control.
H   A synonymous for the Height property.
Handle   Returns the internal X11 window handle of the control.
HasFocus   Returns whether the control has the focus.
Height   Returns or sets the height of the control.
Hovered   Returns whether the mouse cursor is inside the control.
Id   A synonymous for the Handle property.
Ignore   Returns or sets if a control must be ignored when its parent arranges its children.
Left   Returns or sets the position of the left border of the control relative to its parent.
Mouse   Returns or sets the appearence of the cursor when it points inside the control.
Name   Returns or sets the name of the control.
Next   Returns the next control having the same parent.
NoAnimation   Return or set if the possible animations of a control are disabled.
NoTabFocus   Return or set if a control cannot be focused with the TAB key.
Parent   Returns the control container.
PopupMenu   Return or set the name of the menu that will be popped-up when the user presses the right mouse button or the keyboard MENU key.
Previous   Returns the previous control having the same parent.
Proxy   Return or set the "proxy" of a control.
ProxyFor   Return which control that control is a proxy for.
RightToLeft   Return if the control is right to left oriented.
ScreenX   Returns the position of the left border of the control in screen coordinates.
ScreenY   Returns the position of the top border of the control in screen coordinates.
Tag   Returns or sets the control tag.
Tooltip   Returns or sets the tooltip shown when the mouse stays on the control for a short time.
Top   Returns or sets the position of the top border of the control relative to its parent.
Tracking   Returns or sets if the control will receive MouseMove events.
Visible   Indicates if the control is visible or not.
W   A synonymous for the Width property.
Width   Returns or sets the width of the control.
Window   Returns the top-level window that contains the control.
X   Returns or sets the position of the left border of the control relative to its parent.
Y   Returns or sets the position of the top border of the control relative to its parent.

Inherited methods
Delete   Destroys the control.
Drag   Starts a drag & drop process.
FindChild   Finds the first child control pointed by the X and Y coordinates.
Grab   Grab the keyboard and the mouse so that all keyboard and mouse events are received by the control.
Hide   Hides the control.
Lower   Sends the control to the background of its parent.
Move   Moves and/or resizes the control.
MoveScaled   Moves and/or resizes the control.
Raise   Sends the control to the foreground of its parent.
Refresh   Trigger a redraw of the control.
Reparent   Changes the container of a control.
Resize   Resizes the control.
ResizeScaled   Resizes the control.
SetFocus   Gives the focus to the control.
Show   Shows the control.

Inherited events
Arrange   This event is raised when a container has just finished arranging its contents.
BeforeArrange   This event is raised just before a container arranges its contents.
DblClick   Raised when the user quickly clicks twice on the control.
Drag   This event is raised when the mouse enters the control during a drag & drop process.
DragLeave   This event is raised when the mouse leaves the control during a drag & drop operation.
DragMove   This event is raised while the mouse moves inside the control during a drag & drop process.
Drop   This event is raised when a drag is dropped in the control.
Enter   Raised when the mouse enters the control.
GotFocus   Raised when the control has got the focus.
KeyPress   Raised when a key is pressed while the control has the focus.
KeyRelease   Raised when a key is released while the control has the focus.
Leave   Raised when the mouse leaves the control.
LostFocus   Raised when the control has lost the focus.
Menu   Raised when the user clicks on the control with the right mouse button, or if it hits the MENU key.
MouseDown   Raised when a mouse button is pressed while the cursor is inside the control.
MouseDrag   This event is raised when a drag operation should be started.
MouseMove   Raised when the mouse moves inside the control while a mouse button is pressed.
MouseUp   Raised when a mouse button is depressed while the cursor is inside the control.
MouseWheel   This event is raised when the user moves or presses the mouse wheel while the mouse is inside the control.
NewChild   This event is raised when a new child Control has just been inserted into the container.

Special event handlers

Since 3.17

The UserControl class allows to catch special events without having to rely on watchers or event observers.

This is done by just defining one of these public method in the class source code:

Special event handler Description
UserControl_Draw This method is called for drawing the user control.
UserControl_Resize This method is called when the user control is resized.
UserControl_Font This method is called when the font of the user control changes.
UserControl_Change This method is called when one of the following properties has been modified:

The special events handler take no argument.

See Also

UserContainer