Visit the Ultimate Toolbox main page for an overview and configuration guide to the Ultimate Toolbox library.
Source code and project files for this sample can be found in the samples\gui\StaticText directory of the sample projects download.
Overview
The COXStaticText
class is a CStatic
derived class. The normal look of this control is similar to a static control: it just sets a text string. However, unlike the MFC's CStatic
, this class allows a user to give that text a special appearance.
Features
- Change the text color and background color
- Set and get the text font and attributes
- Draw 3D text (embossed text)
- Draw 3D text (offset in pixels)
- Scroll text in any direction
- Set and get scrolling speed (in pixels per second)
- Draw text at an angle
- Draw ellipses at the beginning, end or middle of a text string
- Draw special borders: sunken, raised, flat line, dotted line
- Multi-threaded, consumes very little processor time when scrolling
- The appearance of the
COXStaticText
control can be changed on the fly; a user can set any control property at any moment of time, and the result of this modification will be visible immediately
- Text scrolling is carried out by a separate worker thread
- The user can tune the text scrolling smoothness in order to minimize processor consumption
Usage
Create a static control on your CDialog
based resource and assign it an ID. Using the Class Wizard or Add Member Variable wizard, add a CStatic
member to the dialog class. Next, include the header OXStaticText.h, and change the CStatic
member in the AXF_DATA
section to a COXStaticText
object. You may want to set up some initial properties in your OnInitDialog
:
LPTSTR psText = _T("Static Text");
int nTextHeight = 30;
m_StaticText.SetWindowText(psText);
m_StaticText.SetTextColor(RGB(0, 0, 0));
m_StaticText.SetBkColor(RGB(192, 192, 192));
LOGFONT lf;
if(m_StaticText.GetLogFont(&lf))
{
lf.lfHeight=nTextHeight;
lf.lfWidth=0;
lf.lfItalic=TRUE;
lf.lfWeight=900;
m_StaticText.SetLogFont(&lf);
}
m_StaticText.SetFontName(_T("Arial"));
Many other properties can be set as well, as outlined above. A complete class reference for the COXStaticText
class can be found in the Graphical User Interface | Static Controls section of the compiled HTML help documentation.
Initial CodeProject release August 2007.