Extended Use of CStatic Class | CodeGuru

Extended Use of CStatic Class

 Download Source Code and Example Every wanted a static control that behaved like a Visual Basic(yuk!) label control? Well this could be just the thing you might be looking for. The first cut version of this MFC extension class will allow you to change the text, font attributes (weight, underline, size, name), text color, background […]

Written By
CodeGuru Staff
CodeGuru Staff
Aug 6, 1998
2 minute read
CodeGuru content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More

CLabel image Download Source Code and Example

Every wanted a static control that behaved like a Visual Basic(yuk!)
label control? Well this could be just the thing you might be looking for. The first cut
version of this MFC extension class will allow you to change the text, font attributes
(weight, underline, size, name), text color, background color and border style.

I’ve called the simple class CLabel and is simple to use in dialog
boxes, just follow this simple instructions.

  1. Design the dialog box in the normal why.
  2. Create a OnInitDialog function using the class wizard.
  3. Add Label.cpp and Label.h to your project.
  4. #Include <label.h> in your dialog .cpp file.
  5. Any static controls that need enhancing, give each control a unique ID.
  6. Assign a member control (CLabel) to each ID using the class wizard.
  7. In OnInitDialog change a static controls appearing the functions
    provided. (See Label.h)

API of CLabel

CLabel& SetBkColor(COLORREF crBkgnd) Set the background colour of the control
CLabel& SetText(const CString& strText) Sets the text of the controls
CLabel& SetTextColor(COLORREF crText) Sets the text colour of the control
CLabel& SetFontBold(BOOL bBold) Toggles the state of the bold attribute of the text in the
control
CLabel& SetFontName(const CString& strFont) The the fonts face name in the control
CLabel& SetFontUnderline(BOOL bSet) Toggles the state of the underline font attribute of the
control
CLabel& SetFontItalic(BOOL bSet) Toggles the state of the italic font attribute of the control
CLabel& SetFontSize(int nSize) Sets the fonts size in points.
CLabel& SetSunken(BOOL bSet) Toggles the state of the sunken attribue of the control
CLabel& SetBorder(BOOL bSet) Toggles the state of the borders attribute
CLabel& FlashText(BOOL bSet) Toggles the state of the text flashing attribute
CLabel& FlashBackground(BOOL bSet) Toggles the state of the text flashing attribute
CLabel& SetLink(BOOL bLink) Toggles the state of the link attribute (allows label to
become internet link)
CLabel& SetLinkCursor(HCURSOR hCursor) Sets the cursor for the link.

Example of CLabel

    m_fname.SetFontName("System");
    m_fsize.SetFontSize(14);
    m_uline.SetFontUnderline(TRUE);
    m_tcolor.SetTextColor(RGB(255,0,0));
    m_bcolor.SetBkColor(RGB(0,255,255));
    m_italics.SetFontItalic(TRUE);
    m_bold.SetFontBold(TRUE);
    m_border.SetBorder(TRUE);
    m_sunken.SetSunken(TRUE);

    m_monty.SetFontName("Arial");
    m_monty.SetFontSize(12);
    m_monty.SetTextColor(RGB(255,255,0));
    m_monty.SetFontUnderline(TRUE);
    m_monty.SetBkColor(RGB(0,0,0));
    m_monty.SetFontItalic(TRUE);
    m_monty.SetFontBold(TRUE);
    m_monty.SetBorder(TRUE);
    m_monty.SetSunken(TRUE);

Last Updated: May 30 1998

CodeGuru Logo

CodeGuru covers topics related to Microsoft-related software development, mobile development, database management, and web application programming. In addition to tutorials and how-tos that teach programmers how to code in Microsoft-related languages and frameworks like C# and .Net, we also publish articles on software development tools, the latest in developer news, and advice for project managers. Cloud services such as Microsoft Azure and database options including SQL Server and MSSQL are also frequently covered.

Property of TechnologyAdvice. © 2026 TechnologyAdvice. All Rights Reserved

Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.