Base controls
Besides the list of Controls presented on the Controls page, Qios.DevSuite presents some advanced base Controls that you can use to develop your own Controls: QContainerControlBase, QContainerControl and QControl

QContainerControlBase
QContainerControlBase is the base for every container Control in Qios.DevSuite. Unlike the default Microsoft .NET ContainerControl, It lets you use the Non-Client-Area of a window. With this area it is very easy to develop ContainerControls that have a thick, custom painted border. A regular problem with the normal ContainerControl is when you draw borders on it, the child Controls are painted over those borders and the scrollbars are drawn outside the borders. With the QContainerControlBase, you have full control over the Non-Client-Area. You can handle the PaintNonClientArea event, and the various Mouse events like NonClientAreaMouseMove or NonClientAreaMouseDown. You can also use the default resize options that comes with a Window, so that you can resize windows without a splitter while the contents is visible.

Here you see a sample of the possibilities of QContainerControlBase. You can download this sample from the Samples page.

QContainerControl
QContainerControl inherits from QContainerControlBase and adds standard functionality like QAppearance and QColorScheme. If you need a base Control that implements all that you can inherit from from QContainerControl

QControl
QControl is used as a base for regular Controls. Like QContainerControl it implements features like QColorScheme and QAppearance. You can use this control as a base for your own regular Controls.

QCustomToolWindow
QCustomToolWindow also inherits from QContainerControlBase. If you want a Tool window to be drawn completely different then the regular windows, you can inherit from this class. If you want buttons on the caption you have to draw and handle them yourself. It contains automatic resize features. You can draw shapes and images where you want by using the PaintNonClientArea event. If you want to do special things when the user clicks parts of the Non-Client-Area, then you can use the various mouse events like NonClientAreaMouseDown.