Product Information > JADE Developer’s Reference > Chapter 9 - Using Skins to Enhance JADE Applications > JadeSkinWindow Class
JadeSkinWindow Class

The JadeSkinWindow class, a subclass of the JadeSkinArea class, is the abstract superclass of all Window class skins and it contains the defined image and category of the skin. Applying a region to a window enables it to be of any shape and include "holes" inside it. In addition, any part of any child outside the defined region is not displayed.

For details about the JadeSkinWindow class properties summarized in the following table, see Chapter 1 of the JADE Encyclopaedia of Classes.

Property Reference to …
myImageMask A JadeSkinWindowStateImage object used to construct a Windows region for the window
mySkinCategory The skin category that applies to the skin

To understand the way in which a region is constructed, consider that the image specified by the myImageMask property is drawn (stretched) over the top of the window, including any border area. Only black pixels are considered part of the window when it is painted or clicked on.

The result could be a window with rounded corners, a window with holes in it, and so on.

Because the mask image is built to the same size as the actual window, if border masks are defined, the only reasonable region that could be constructed is one where the corners are shaped. As all other areas are stretched to fit, it is likely that they would not provide a suitable result. You would achieve a better result by defining only an inner image for the mask that is stretched.

If the mySkinCategory property is set to "Company Logo", for example, the skin is applied only to a window of the appropriate type that has the Window::skinCategoryName property also set to "Company Logo".

In addition, you can define a skin category for a control subclass (for example, each BaseControl subclass) and associate a different category name with each of those skins. The constructor of each control subclass can then set the appropriate category name on the control so that the correct JadeSkinBaseControl class skin is then applied.

JadeSkinForm Class

The JadeSkinForm class, a subclass of the JadeSkinWindow class, describes the skin of a form. Use the JadeSkinArea class to define the image drawn for the active border and the inner (client area) of the form. If the form has a backdrop picture, this image is drawn.

When erasing the inner area of the form:

  1. If the form backBrush property is not null, the inner area is erased using that brush.

  2. If the form skin has a JadeSkinArea class imgInner property value that is a brush, the inner area is erased using that brush.

  3. If the form backColor property is not Color_3DFace, the inner area is erased using the background color of the form.

  4. If the backColor property of the skin area is not Default_Color, erase using the backColor property value of the skin.

  5. The Color_3DFace value is used when erasing.

  6. If the form was erased using a color and the skin of the form has a JadeSkinArea class imgInner property value that is not a brush, that image is drawn centered in the inner area of the form skin.

The JadeSkinForm class contains the JADE skins defined for forms in your applications and encapsulates the behavior required to define and maintain JADE skins using the JadeSkinMaintenance and JadeSkinSelection forms provided by the JADE RootSchema.

For details about using runtime skin facilities provided by JADE methods, see "Run Time Skin Facilities", later in this chapter.

The set of skin images used by JADE is provided with the product release so that you can use these skins in your applications, if required. (By default, skins are not used.)

The form border for a skin is made up of 11 images, as shown in the following diagram.

The following is a description f the form border areas.

The following areas are not affected by using a skin.

For details about maintaining and using JADE skins, see "Defining and Maintaining JADE Skins at Run Time" under "Maintaining Skins Using Extended Functionality", in Chapter 2 of the JADE Runtime Application Guide.

For details about the JadeSkinForm class properties summarized in the following table, see Chapter 1 of the JADE Encyclopaedia of Classes.

Property Default Value Description
captionActiveForeColor Default_Color Color used to draw caption text when the form is active.
captionFontBold True Specifies whether the caption of the form is bold.
captionFontItalic False Specifies whether the caption of the form is italics.
captionFontName MS Sans Serif Font with which the form caption is displayed.
captionFontSize 8.5 Size of the font with which the form caption is displayed.
captionInactiveForeColor Default_Color Color used to draw the form’s caption text when the form is inactive.
captionLeft 0 Starting left position of the form’s caption text.
captionTop 0 Starting right position of the form’s caption text.
centerCaption False Specifies whether the caption is centered within the top strip area of the form’s skin.
imgInactiveBorderBottomLeft Null Border area image to be drawn for the bottom left of the inactive form.
imgInactiveBorderBottomRight Null Border area image to be drawn for the bottom right of the inactive form.
imgInactiveBorderBottomStrip Null Border area image to be drawn for the bottom strip of the inactive form.
imgInactiveBorderLeftStrip Null Border area image to be drawn for the left strip of the inactive form.
imgInactiveBorderRightStrip Null Border area image to be drawn for the right strip of the inactive form.
imgInactiveBorderTopLeft Null Border area image to be drawn for the top left of the inactive form.
imgInactiveBorderTopRight Null Border area image to be drawn for the top right of the inactive form.
imgInactiveBorderTopStrip Null Border area image to be drawn for the top strip of the inactive form.
imgMenuLeft Null Image drawn for the left of the form’s menu line.
imgMenuRight Null Image drawn for the right of the form’s menu line.
imgMenuStrip Null Image drawn for the strip of the form’s menu line.
menuBackColor Default_Color Background color for the menu line if the skin has no defined imgMenuStrip property value.
menuBackColorSelected Default_Color Background color of the selected menu items for drop‑down or popup menus.
menuFontBold False Specifies whether menu line item, drop-down menu, and popup menu captions are bold.
menuFontItalic False Specifies whether menu line item, drop-down menu, and popup menu captions are italics.
menuFontName Null ("") Font with which menu line items, drop-down menus, and popup menus are displayed.
menuFontSize 0 Size of the font with which menu line items, drop-down menus, and popup menus are displayed.
menuForeColor Default_Color Color to draw the text for non-selected and enabled menu line items.
menuForeColorDisabled Default_Color Color to draw the text for disabled menu line items and the default disabled text color for drop-down and popup menus.
menuForeColorSelected Default_Color Color to draw text for selected text for drop-down and popup menus.
menuLeftPosition 0 Starting left position of the form’s menus.
menuTopPosition 0 Offset of the top position of the form’s menu drawn on the skin.
myChildMinimizeBtn   Reference to the simple button images drawn for an MDI child minimize button in its four states (up, down, rollover, and disabled).
myChildRestoreBtn   Reference to the simple button images drawn for an MDI child restore button in its four states.
myChildTerminateBtn   Reference to the simple button images drawn for an MDI child terminate button in its four states.
myMaximizeBtn   Reference to the simple button images drawn for an MDI child maximize button in its four states.
myMaximizedBtn   Reference to the simple button images drawn for an MDI child maximized button in its four states.
myMenuSkin   Reference to the menu definition of the form.
myMinimizeBtn   Reference to the simple button images to be drawn for the form minimize button in its four states.
myTerminateBtn   Reference to the simple button images to be drawn for the form terminate button in its four states.
showMenuLineAlways False Specifies whether the menu line of the skin is always drawn, regardless of whether the form has a menu.
transparentColorForButtons Default_Color Transparent color to be applied to maximize, minimize, and terminate buttons drawn for the form’s skin.
JadeSkinControl Class

The JadeSkinControl class, a subclass of the JadeSkinWindow class, is the abstract superclass that provides the definition of elements common for each control that can be skinned. For details, see Chapter 1 of the JADE Encyclopaedia of Classes.

Use the properties of the JadeSkinArea class to define the image drawn for the active border and the inner (client area) of each control. When erasing the inner area of a control:

  1. If the control backBrush property of the form is not null, the inner area is erased using that brush.

  2. If the control skin has a JadeSkinArea class imgInner property value that is a brush, the inner area is erased using that brush.

  3. If the backColor property of the skin area is not Default_Color and the backColor property of the control is the default or the skin was set by using the Control class setSkin method, erase using the backColor property value of the skin.

  4. If the value of the backColor property of the control is Color_3DFace and the form of the control has a skin whose backColor property is not set to Default_Color, the inner area is erased using the backColor property value of the form’s skin.

  5. Erase using the backColor property value of the control.

  6. If the control was erased using a color and the skin of the control has an inner image defined in the JadeSkinArea class imgInner property that is not a brush (that is, the JadeSkinArea class innerIsBrush property is set to false), that image is drawn centered in the inner area.

The constants provided by the JadeSkinControl class are listed in the following table.

Constant Integer Value Constant Integer Value
ApplyCondition_3D 2 ApplyCondition_All 0
ApplyCondition_Border 1    

For details about the JadeSkinControl class properties summarized in the following table, see Chapter 1 of the JADE Encyclopaedia of Classes.

Property Default Value Description
applyCondition Dependent on the control type Determines whether the border area of a control uses the skin
borderStyle BorderStyle_Images Type of border to be drawn
fontBold False Specifies whether the control font is bold when the control uses the default application font
fontItalic False Specifies whether the control font is italicized when the control uses the default application font
fontName Null ("") Font with which the control is drawn (the default value indicates the control uses its own default font)
fontSize 0 Specifies the size of the control font when the control uses the default application font
fontStrikethru False Specifies whether the control font is strikethrough when the control uses the default application font
fontUnderline False Specifies whether the control font is underlined when the control uses the default application font
foreColor Default_Color Color to be used for drawing the text of the control
foreColorDisabled Default_Color Color to be used for drawing the text of the control when it is disabled

The subclasses of the JadeSkinControl class are summarized in the following table. For details, see Chapter 1 of the JADE Encyclopaedia of Classes.

Subclass Holds the …
JadeSkinBaseControl Definition of a skin for BaseControl subclassed controls
JadeSkinBrowseButtons Definition of a skin for BrowseButtons controls
JadeSkinButton Definition of a skin for Button controls
JadeSkinCheckBox Definition of a skin for CheckBox controls
JadeSkinComboBox Definition of a skin for ComboBox controls
JadeSkinFolder Definition of a skin for Folder controls
JadeSkinFrame Definition of a skin for Frame controls
JadeSkinGroupBox Definition of a skin for GroupBox controls
JadeSkinJadeDockBase Elements of a docking control skin and provides the JadeSkinJadeDockBar and JadeSkinJadeDockContainer subclasses that hold definitions of skins for the JadeDockBar and JadeDockContainer classes
JadeSkinJadeEditMask Definition of a skin for JadeEditMask controls
JadeSkinJadeMask Definition of a skin for JadeMask controls
JadeSkinJadeRichText Definition of a skin for JadeRichText controls
JadeSkinLabel Definition of a skin for Label controls
JadeSkinListBox Definition of a skin for ListBox controls
JadeSkinOleControl Definition of a skin for OleControl controls
JadeSkinOptionButton Definition of a skin for OptionButton controls
JadeSkinPicture Definition of a skin for Picture controls
JadeSkinProgressBar Definition of a skin for ProgressBar controls
JadeSkinScrollBar Information common to a vertical and horizontal scroll bar, and provides the JadeSkinHScroll and JadeSkinVScroll subclasses that hold definitions of skins for the HScroll and VScroll classes
JadeSkinHScroll Definition of a skin for HScroll horizontal ScrollBar controls
JadeSkinVScroll Definition of a skin for VScroll vertical ScrollBar controls
JadeSkinSheet Definition of a skin for Sheet controls
JadeSkinStatusLine Definition of a skin for StatusLine controls
JadeSkinTable Definition of a skin for Table controls
JadeSkinTextBox Definition of a skin for TextBox controls

Skins do not apply to the ActiveXControl, MultiMedia, and Ocx control classes, as these are totally drawn by the controls themselves.

JadeSkinBaseControl Class

The JadeSkinBaseControl class, a subclass of the JadeSkinControl class, holds the definition of a skin for subclasses of the BaseControl class.

JadeSkinBrowseButtons Class

The JadeSkinBrowseButtons class, a subclass of the JadeSkinControl class, holds the definition of a skin for BrowseButtons controls.

The properties defined in the JadeSkinBrowseButtons class are summarized in the following table.

Property Reference to the …
myFirstButton Full image and up, disabled, down, and rollover states of the First button
myLastButton Full image and up, disabled, down, and rollover states of the Last button
myNextButton Full image and up, disabled, down, and rollover states of the Next button
myPriorButton Full image and up, disabled, down, and rollover states of the Prior button

If a button image is not supplied for a non-up state, the up image is used. For painting to be successful, the skin requires all of the up images to be supplied.

JadeSkinButton Class

The JadeSkinButton class, a subclass of the JadeSkinControl class, holds the definition of a skin for Button controls.

The properties defined in the JadeSkinButton class are summarized in the following table.

Property Description
createRegionFromMask Specifies whether the JadeSkinWindow::myImageMask property is used to create a region
myButtonDisabled Reference to the image drawn for the disabled button state
myButtonDown Reference to the image drawn for the down button state
myButtonFocus Reference to the image drawn for the focus button state
myButtonFocusDown Reference to the image drawn for the focus down button state
myButtonRollOver Reference to the image drawn for the rollover button state
myButtonRollUnder Reference to the image drawn for the roll-under button state
myButtonUp Reference to the image drawn for the up button state (the default state)

If the createRegionFromMask property is set to true, the JadeSkinWindow::myImageMask property is used to create a window region. If it is set to false (the default), the full rectangular button area is drawn using the skin. The region defined by the myImageMask property then applies only to mouse actions. For example, if the button is an unusual-shaped image on a background, the button displays only the rollover and click images when the mouse is positioned over that special area.

Each state can consist of up to eight border segments and an inner image, an inner image only, or no images (in which case the background color is used to fill the non-border area). These images are drawn inside any defined border area. If you do not define a specific state, the myButtonUp image is used.

The following diagram on the left is an example of a button with a raised three-dimensional effect and the diagram on the right is an example of a button with a sunken three-dimensional effect.

JadeSkinCheckBox Class

The JadeSkinCheckBox class, a subclass of the JadeSkinControl class, holds the definition of a skin for CheckBox controls. If the check box button image of the skin is higher than the check box control using that skin, the check box control is enlarged in height to display the entire button image.

The properties defined in the JadeSkinCheckBox class are summarized in the following table.

Property Reference to the …
myFalseImage Full image and up, disabled, down, and rollover states of the false value of check boxes
myTrueImage Full image and up, disabled, down, and rollover states of the true value of check boxes

If you do not supply a specific state, the appropriate up image is used. If you do not supply the appropriate up image, the default check box image is drawn. For example, the following diagram is an example of a CheckBox control with the Control class borderStyle property set to BorderStyle_3DSunken and the Control class backBrush property set.

JadeSkinComboBox Class

The JadeSkinComboBox class, a subclass of the JadeSkinControl class, holds the definition of a skin for ComboBox controls.

The properties defined in the JadeSkinComboBox class are summarized in the following table.

Property Description
buttonRightOffset Contains the number of pixels from the right-hand edge to position the right-hand edge of the combo box button. The button is centered vertically.
imgComboButtonDownRollOver Contains the extra button state image required for the combo box button rollover state in the down position.
myComboButton Reference to the images for the up (normal), down (list box displayed), rollover (when in the up position), and disabled states.
myListBoxSkin Reference to the skin used to draw the list box part of the combo box. The list box is not drawn with a skin if the value of this property is null.
mySimpleComboTextBoxSkin Reference to the skin used to draw the text box part of a simple combo box.

When defining the skin for a ComboBox control, note the following points.

JadeSkinFolder Class

The JadeSkinFolder class, a subclass of the JadeSkinControl class, holds the definition of a skin for Folder controls.

The properties defined in the JadeSkinFolder class are summarized in the following table.

Property Default Value Description
myTabsButton   Reference to the skin used to draw the tabs of a folder with the tabsStyle property set to TabsStyle_Buttons. No skin is applied to the buttons if the property is null.
tabActiveColor Default_Color Contains the color used to draw the background area of active tabs. The default value of Default_Color indicates that the normal color of the folder is used. The values of the tabActiveColor property for the skin are ignored for any sheet that has a backColor property value other than Color_3Dface, because the tab of the sheet is then drawn using that color.
tabHeight 0 Contains the height of the tabs in a folder that uses the default tab height. If the height of the tabs for the folder has been specifically set, the tabHeight property of the skin is ignored. By default, the tabHeight property is set to zero (0), indicating that the default height is the calculated text height using the font of the folder. If the tabHeight property is set to a positive value, each tab is drawn the specified number of pixels high.
tabInactiveColor Default_Color Contains the color used to draw the background area of inactive tabs. The default value of Default_Color indicates that the normal color of the folder is used. The values of the tabActiveColor property for the skin are ignored for any sheet that has a backColor property value other than Color_3Dface, because the tab of the sheet is then drawn using that color.
JadeSkinFrame Class

The JadeSkinFrame class, a subclass of the JadeSkinControl class, holds the definition of a skin for Frame controls.

JadeSkinGroupBox Class

The JadeSkinGroupBox class, a subclass of the JadeSkinControl class, holds the definition of a skin for GroupBox controls. As a group box control has no non-client area (border area) and the entire skin image is drawn in the client area, children may be positioned anywhere within that control and cover the drawn images.

The group box skin images are drawn over the entire control area. The drawing of the caption depends on whether the skin definition includes a skin label reference (myLabelSkin). If there is no skin label reference, the caption is drawn transparently over the skin image. If the skin references a label definition, that label skin is drawn on top of the group box skin image.

The label is sized so that there is a three-pixel gap from the border area of the label to the left, right, top, and bottom of the caption. The caption or the label is drawn at the position indicated by the captionPosition, captionPositionLeftOffset, and captionPositionTopOffset properties.

The constants provided by the JadeSkinGroupBox class are listed in the following table.

Constant Integer Value Description
CaptionPosition_Left_Top 0 Left-justified at the top
CaptionPosition_Left_Middle 1 Left-justified and centered vertically
CaptionPosition_Left_Bottom 2 Left-justified at the bottom
CaptionPosition_Right_Top 3 Right-justified at the top
CaptionPosition_Right_Middle 4 Right-justified and centered vertically
CaptionPosition_Right_Bottom 5 Right-justified at the bottom
CaptionPosition_Center_Top 6 Centered horizontally at the top
CaptionPosition_Center_Middle 7 Centered horizontally and vertically
CaptionPosition_Center_Bottom 8 Centered horizontally at the bottom

The properties defined in the JadeSkinGroupBox class are summarized in the following table.

Property Default Value Description
captionPosition 0 Contains the position of the caption (or the value of the myLabelSkin property) using the constant values listed in the previous table.
captionPositionLeftOffset 0 Contains the value that is added to the calculated left position resulting from the captionPosition property value. For example, to position the caption 9 pixels from the top right, set the value of the captionPositionLeftOffset to -9 and the captionPosition property to CaptionPosition_Right_Top (3). The value of the captionPositionLeftOffset property is ignored if the position causes the caption to fall outside the group box area.
captionPositionTopOffset 0 Contains the value that is added to the calculated top position resulting from the captionPosition property value. For example, to position the caption 9 pixels from the bottom right, set the value of the captionPositionTopOffset to -9 and the captionPosition property to CaptionPosition_Right_Bottom (5). The value of the captionPositionTopOffset property is ignored if the position causes the caption to fall outside the group box area.
myLabelSkin   Reference to the JadeSkinLabel class. If set, this skin is used to draw the text as though it was a label so that the text portion of the group box can have its own border and background color, brush, or image.

The following diagram is an example of two group boxes. The example at the left has only the top and right border strips set.

JadeSkinJadeDockBase Class

The JadeSkinJadeDockBase class, a subclass of the JadeSkinControl class, is the abstract class that defines elements of a docking control skin. The properties defined in the JadeSkinJadeDockBase class are summarized in the following table.

Property Contains the image drawn for a …
myHorizontalGripBar Horizontal grip bar (for a vertically aligned docking control). The image is stretched to fit the width of the docking control. The standard docking control grip is drawn if you do not supply an image.
myHorizontalResizeBar Horizontal resize bar drawn on the bottom border of a docking control. The image is stretched to fit the width of the docking control. The standard docking control resize bar is drawn if you do not supply an image.
myVerticalGripBar Vertical grip bar (for a horizontally aligned docking control). The image is stretched to fit the height of the docking control. The standard docking control grip is drawn if you do not supply an image.
myVerticalResizeBar Vertical resize bar drawn on the right border of a docking control. The image is stretched to fit the height of the docking control. The standard docking control resize bar is drawn if you do not supply an image.

The first example at the left of the following diagram shows an image drawn horizontally (by using the myHorizontalGripBar property) for the grip bar of a vertically aligned docking control, in which the grip bar is the two horizontal lines at the top of the diagram. The second example at the right of the following diagram shows an image drawn vertically (by using the myVerticalGripBar property) for the grip bar for a horizontally aligned docking control, in which the grip bar is the two vertical lines at the left of the diagram.

The JadeSkinJadeDockBase class provides the JadeSkinJadeDockBar control subclass and JadeSkinJadeDockContainer control subclass.

JadeSkinJadeDockBar Class

The JadeSkinJadeDockBar class, a subclass of the JadeSkinJadeDockBase class, holds the definition of a skin for JadeDockBar controls.

JadeSkinJadeDockContainer Class

The JadeSkinJadeDockContainer class, a subclass of the JadeSkinJadeDockBase class, holds the definition of a skin for JadeDockContainer controls.

JadeSkinJadeEditMask Class

The JadeSkinJadeEditMask class, a subclass of the JadeSkinControl class, holds the definition of a skin for JadeEditMask controls.

The background area of a JadeEditMask control outside of the text box children is always drawn using the value of the backColor property of its parent and is unaffected by the skin.

JadeSkinJadeMask Class

The JadeSkinJadeMask class, a subclass of the JadeSkinControl class, holds the definition of a skin for JadeMask controls and has the property summarized in the following table.

Property Reference to the …
myButtonSkin Skin used to draw any JadeMask controls that will be treated like a button (with no picture images defined). If null, JadeMask controls treated like a button will not be skinned.
JadeSkinJadeRichText Class

The JadeSkinJadeRichText class, a subclass of the JadeSkinControl class, holds the definition of a skin for JadeRichText controls.

JadeSkinLabel Class

The JadeSkinLabel class, a subclass of the JadeSkinControl class, holds the definition of a skin for Label controls.

JadeSkinListBox Class

The JadeSkinListBox class, a subclass of the JadeSkinControl class, holds the definition of a skin for ListBox controls. The properties defined in the JadeSkinListBox class are summarized in the following table.

Property Description
imgPictureClosed Closed image that replaces a list box with the hasPictures or hasPlusMinus property set to true
imgPictureLeaf Leaf image that replaces a list box with the hasPictures or hasPlusMinus property set to true
imgPictureMinus Minus image that replaces a list box with the hasPictures or hasPlusMinus property set to true
imgPictureOpen Open image that replaces a list box with the hasPictures or hasPlusMinus property set to true
imgPicturePlus Plus image that replaces a list box with the hasPictures or hasPlusMinus property set to true

The images defined in these properties replace the equivalent image only if the standard JADE image has not been replaced in the list box.

The following diagram shows an example of a ListBox class with a defined skin.

JadeSkinOleControl Class

The JadeSkinOleControl class, a subclass of the JadeSkinControl class, holds the definition of a skin for OleControl controls.

JadeSkinOptionButton Class

The JadeSkinOptionButton class, a subclass of the JadeSkinControl class, holds the definition of a skin for OptionButton controls. If the option button image of the skin is higher than the option button control using that skin, the option button control is enlarged in height to display the entire image. The properties defined in the JadeSkinOptionButton class are summarized in the following table.

Property Reference to the …
myFalseImage Full image and up, disabled, down, and rollover states of the false value of option buttons
myTrueImage Full image and up, disabled, down, and rollover states of the true value of option buttons

If you do not supply a specific state, the appropriate up image is used. If you do not supply the appropriate up image, the default option button image is drawn.

JadeSkinPicture Class

The JadeSkinPicture class, a subclass of the JadeSkinControl class, holds the definition of a skin for Picture controls.

JadeSkinProgressBar Class

The JadeSkinProgressBar class, a subclass of the JadeSkinControl class, holds the definition of a skin for ProgressBar controls and has the property summarized in the following table.

Property Reference to the …
myProgressImage Skin used to draw the completed progress part of ProgressBar controls.
JadeSkinScrollBar Class

The JadeSkinScrollBar class, a subclass of the JadeSkinControl class, is the abstract class that contains information common to vertical and horizontal scroll bars. The properties defined in the JadeSkinScrollBar class are summarized in the following table.

Property Description
imgHighLightBrush Contains the image for the brush to be used when the user clicks on the scroll bar stem itself (that is, not the thumb track or the arrows). When the mouse is down in this situation, that portion of the scroll bar is highlighted. If you supply this brush image, highlighting is drawn using this brush or it is drawn with a black brush if you do not supply a highlight brush.
myThumbTrack Reference to the JadeSkinWindowStateImage object that defines the thumb track in the up position. If this property has a null value, the thumb track is drawn as normal.
myThumbTrackDisabled Reference to the JadeSkinWindowStateImage object that defines the disabled thumb track. If this property has a null value, the thumb track is drawn using the myThumbTrack property value.
myThumbTrackDown Reference to the JadeSkinWindowStateImage object that defines the clicked thumb track. If this property has a null value, the thumb track is drawn using the myThumbTrack property value.
myThumbTrackRollOver Reference to the JadeSkinWindowStateImage object that defines how to draw the thumb track in the rollover state. If this property has a null value, the thumb track is drawn using the myThumbTrack property.

The JadeSkinScrollBar class provides the JadeSkinHScroll and JadeSkinVScroll control subclasses.

JadeSkinHScroll Class

The JadeSkinHScroll class, a subclass of the JadeSkinScrollBar class, holds the definition of a skin for HScroll subclasses of ScrollBar controls.

This skin is also used for drawing the horizontal scroll bar for any control or form in the application.

The properties defined in the JadeSkinHScroll class are summarized in the following table.

Property Reference to the image used to draw the …
myLeftButton Left button of a horizontal scroll bar in its various states (the button is placed inside the scroll bar borders)
myRightButton Right button of a horizontal scroll bar in its various states (the button is placed inside the scroll bar borders)

The height of the border area and the height of the myLeftButton.imgUp image determine the height of the scroll bar. For a scroll bar control, the image is stretched vertically to fit the area inside the borders, as shown in the example in the following diagram.

If you do not supply the image for a specific state, the appropriate up image is used. The default scroll button image is drawn if you do not supply the up image.

JadeSkinVScroll Class

The JadeSkinVScroll class, a subclass of the JadeSkinScrollBar class, holds the definition of a skin for VScroll subclasses of ScrollBar controls.

This skin is also used for drawing the vertical scroll bar for any control or form in the application.

The properties defined in the JadeSkinVScroll class are summarized in the following table.

Property Reference to the image used to draw the …
myBottomButton Top button of a vertical scroll bar in its various states (the button is placed inside the scroll bar borders)
myTopButton Bottom button of a vertical scroll bar in its various states (the button is placed inside the scroll bar borders)

The width of the border area and the width of the myTopButton.imgUp image determine the width of the scroll bar. For a scroll bar control, the image is stretched horizontally to fit the area inside the borders.

If you do not supply the image for a specific state, the appropriate up image is used. The default scroll button image is drawn if you do not supply the up image.

JadeSkinSheet Class

The JadeSkinSheet class, a subclass of the JadeSkinControl class, holds the definition of a skin for Sheet controls. The following diagram shows an example of a sheet with a sunken three-dimensional effect.

For details about the JadeSkinSheet class property summarized in the following table, see Chapter 1 of the JADE Encyclopaedia of Classes.

Property Description
myTabButton Contains a reference to the skin used to draw the tab of a folder.
JadeSkinStatusLine Class

The JadeSkinStatusLine class, a subclass of the JadeSkinControl class, holds the definition of a skin for StatusLine controls.

The following diagram shows an example of a skinned status line.

JadeSkinTable Class

The JadeSkinTable class, a subclass of the JadeSkinControl class, holds the definition of a skin for Table controls. The properties defined in the JadeSkinTable class are summarized in the following table.

Property Default Value Description
tabActiveColor Default_Color Contains the color used to draw the background area of the active tab.
tabInactiveColor Default_Color Contains the color used to draw the background area of inactive tabs.

The default value of Default_Color for these properties indicates that the table uses its normal color. The following diagram shows an example of the Table class with an applied skin.

JadeSkinTextBox Class

The JadeSkinTextBox class, a subclass of the JadeSkinControl class, holds the definition of a skin for TextBox controls.

Text box controls do not successfully handle back brushes and non-solid colors for the backColor property.