Label controls
Published 23 JUL 2013 at 02:07:33PM
Over the past few posts we've taken a look at some of the new controls we've added to OpenInsight in version 10, but during the development process we've also taken the opportunity to upgrade some of the existing controls as well. In this post we'll take a look at the humble Label (or STATIC) control and examine some of the new features that have been implemented for it.
Background Images
The Label control now exposes the full Image API in the same way as the version 10 OpenInsight WINDOW object does.
[caption id="attachment_947" align="aligncenter" width="292"] Label control with background image[/caption]
Gradient background colors
The BACKCOLOR property now supports gradients in the same way that the current OpenInsight WINDOW object does, along with the associated GRADIENTSTYLE property.
[caption id="attachment_948" align="aligncenter" width="292"] Label control with gradient background[/caption]
Translucent background
The Label control may use a translucent background via the TRANSLUCENCY property.
[caption id="attachment_941" align="aligncenter" width="292"] Label control with translucent background[/caption]
Aero Glass support
As part of OpenInsight's Aero Glass support, transparent labels drawn on glass in Vista and Windows 7 have the recommended "glow effect" enabled to improve readability:
[caption id="attachment_935" align="aligncenter" width="326"] Transparent Label controls on Aero Glass[/caption]
Text Alignment
Vertical as well as horizontal text alignment is now supported via the TEXTALIGN property:
- "0" Top-Left
- “1″ Top-Center
- “2″ Top-Right
- “3″ Middle-Left
- “4″ Centered
- “5″ Middle-Right
- “6″ Bottom-Left
- “7″ Bottom-Center
- “8″ Bottom-Right
[caption id="attachment_949" align="aligncenter" width="292"] Label control with bottom-center text alignment[/caption]
A TEXTORIGIN property is also exposed that allows you to specify the exact XY position that you wish the text to be drawn at in a similar manner to the standard IMAGEORIGIN property.
Mouse-over support
Label controls can now respond to a mouse-over or "hot" state via the new HOTFORECOLOR, HOTFONT and HOTBACKCOLOR properties. When set these properties are used in place of their standard counterparts (FORECOLOR, FONT and BACKCOLOR) when the mouse is over the control.
Mouse event support
The following standard events are now exposed for Label controls:
- CLICK
- DBLCLK
In addition to this we've also provided a new MOUSEOVER event along with a notification flag for when the mouse enters and exits a control (We intend to extend the MOUSEOVER event to cover all OpenInsight controls).
Edge styling
By default normal Windows Label controls actually support a "edge-style" that allows them to have a sunken or etched border, or even display themselves as a single vertical or horizontal etched line. Although this capability can be used in earlier versions of OpenInsight via raw style-bit manipulation we've exposed it fully in Version 10 via the EDGESTYLE property. This can be one of the following values:
- "0" - No border
- "1" - Sunken border
- "2" - Etched Horizontal line along the top edge
- "3" - Etched Vertical line along the left edge
- "4" - Etched Frame
[caption id="attachment_944" align="aligncenter" width="292"] Label control with a sunken border[/caption]
[caption id="attachment_945" align="aligncenter" width="292"] Label control with an etched frame[/caption]
Text handling
We've exposed a couple of new text handling properties: AUTOELLIPSES and WORDWRAP. The former allows truncated text to be suffixed with the ellipses string "…", while the latter allows text to wrap in an effort to avoid truncation where possible.
[caption id="attachment_950" align="aligncenter" width="292"] Label control with AUTOELLIPSES enabled[/caption]
HTML Text rendering
The Label control now supports simple inline HTML rendering via the boolean DRAWHTML property. The following tags are currently supported:
- Bold
- Italic
- Underline
Strikeout- Subscript
- SuperScript
- Font
The font tag supports the following attributes:
- color
- bgcolor
- face
- size
[caption id="attachment_951" align="aligncenter" width="292"] Label control with HTML text rendering[/caption]
(As with the aforementioned MOUSEOVER support we're intending to extend HTML text rendering to other controls where appropriate)
(Disclaimer: This article is based on preliminary information and may be subject to change in the final release version of OpenInsight 10).