Click here to Skip to main content
13,863,950 members
Click here to Skip to main content
Add your own
alternative version


167 bookmarked
Posted 11 Jan 2000

Extended Use of CStatic Class - CLabel 1.6

, 2 Aug 2002
Rate this:
Please Sign up or sign in to vote.
A fully stocked owner drawn CStatic class


Ever wanted a static control that behaved like a Visual Basic label control? Well this could be just the thing you might be looking for. This version adds all the functionality of the label control, plus many other features. The control uses double buffering which gives fast painting. The real work in done in the OnPaint function.

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

  1. Design the dialog box in the normal way.
  2. Create an OnInitDialog function using the class wizard.
  3. Add Label.cpp and Label.h to your project.
  4. #Include <label.cpp> in your dialog .cpp file.
  5. Delete the project '.clw' file and regenerate by opening the project and pressing Ctrl+W
  6. Any static controls that need enhancing, give each control a unique ID within the dialog editor.
  7. Assign each member controls (CLabel) to each ID using the class wizard.
  8. In OnInitDialog uses the CLabelAPI to change the appearance of the control.

API of CLabel

CLabel& SetBkColor(COLORREF crBkgnd, <br>
         COLORREF crBkgndHigh = 0, <br>
         BackFillMode mode = Normal);<br>
Set the background colour of the control and allows an optional gradient fill.
CLabel& SetText(const CString&
Sets the text of the controls
CLabel& SetTextColor(COLORREF
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&
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
Sets the cursor for the link.
CLabel& SetTransparency(BOOL
Sets the transparency for the background.
CLabel& SetFont3D(BOOL bSet,Type3D
Sets 3D fonts
CLabel& SetRotationAngle(UINT
          nAngle,BOOL bRotation)
Sets rotation angle for font
          SetText3DHiliteColor(COLORREF cr3DHiliteColor)
Sets the hi-light colour for the text
	SetMailLink(BOOL bEnable, BOOL bNotifyParent)
Sets the hi-light colour for the text

Example of use

m_lblGradient.SetBkColor(RGB(255,255,255),RGB(0,0,255), CLabel::Gradient);



CLabel Version 1.6

  • Jeroen Roosendaal - SetFont suggestion
  • Laurent - Spotting SelectObject bugs
  • Bernie - Fix PreCreateWindow bug
  • Jignesh I. Patel - Added expanded tabs feature
  • Jim Farmelant - Fix SetText crash


This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


About the Author

Software Developer (Senior) Software Kinetics
United Kingdom United Kingdom

Software Kinetics
are experts in developing customised and bespoke applications and have expertise in the development of desktop, mobile and internet applications on Windows.

We specialise in:

  • User Interface Design
  • Desktop Development
  • Windows Phone Development
  • Windows Presentation Framework
  • Windows Forms
  • Windows Communication Framework
  • Windows Services
  • Network Applications
  • Database Applications
  • Web Development
  • Web Services
  • Silverlight

Visit Software Kinetics

You may also be interested in...

Comments and Discussions

QuestionHow to Auto Size text in CLabel Pin
masteryoda2127-Oct-11 11:33
membermasteryoda2127-Oct-11 11:33 
GeneralFlick Problem On Redraw - Solution [modified] Pin
tonim9-Jun-10 12:48
membertonim9-Jun-10 12:48 
GeneralRe: Flick Problem On Redraw - Solution Pin
NormDroid9-Jun-10 22:21
professionalNormDroid9-Jun-10 22:21 
GeneralQuestion Pin
guyuewuhua31-Aug-09 17:29
memberguyuewuhua31-Aug-09 17:29 
Generallicense restrictions for CLabel class Pin
clintM22-Apr-09 8:24
memberclintM22-Apr-09 8:24 
GeneralRe: license restrictions for CLabel class Pin
NormDroid22-Apr-09 21:22
professionalNormDroid22-Apr-09 21:22 
GeneralRe: license restrictions for CLabel class Pin
clintM23-Apr-09 3:32
memberclintM23-Apr-09 3:32 
GeneralRe: license restrictions for CLabel class Pin
Alan Hayslep29-Aug-13 1:45
memberAlan Hayslep29-Aug-13 1:45 
GeneralChanging font size [modified] Pin
sabapathy_8021-Jan-09 4:59
membersabapathy_8021-Jan-09 4:59 
GeneralFlashing problems ( transparent label over bitmap ) Pin
alexuh13-Aug-08 5:21
memberalexuh13-Aug-08 5:21 
QuestionMaybe it's better that set byCharSet=DEFAULT_CHARSET in SetFontName? Pin
sodar22-May-08 18:57
membersodar22-May-08 18:57 
Generaltext right aligned Pin
J.Charpentier26-Jun-07 8:05
memberJ.Charpentier26-Jun-07 8:05 
QuestionRotate Bitmaps? Pin
frqftgbdafr29-May-07 11:47
memberfrqftgbdafr29-May-07 11:47 
QuestionHelp on subclassing CLabel for suporting background image Pin
ovidiu_pos16-May-07 22:03
memberovidiu_pos16-May-07 22:03 
QuestionLicense? Pin
toschlog16-May-07 15:17
membertoschlog16-May-07 15:17 
AnswerRe: License? Pin
NormDroid16-May-07 21:57
professionalNormDroid16-May-07 21:57 
QuestionEnable / Disable ? Pin
ChrisRibe19-Mar-07 7:03
memberChrisRibe19-Mar-07 7:03 
GeneralGot Slow Somewhere Pin
Phil C27-Dec-05 16:26
memberPhil C27-Dec-05 16:26 
GeneralSemi-transparent, colored CLabel Pin
David Fleming3-Sep-05 0:10
memberDavid Fleming3-Sep-05 0:10 
GeneralSetWindowPos Pin
chris.lee@alcormicro.com29-Mar-05 21:26
memberchris.lee@alcormicro.com29-Mar-05 21:26 
GeneralRe: SetWindowPos Pin
Osborn27-Apr-06 6:21
memberOsborn27-Apr-06 6:21 
QuestionFlickerring? Pin
lily0lin5-May-04 10:22
memberlily0lin5-May-04 10:22 
AnswerRe: Flickerring? Pin
EastSeaBoy19-Sep-04 20:49
memberEastSeaBoy19-Sep-04 20:49 
GeneralRe: Flickerring? Pin
EvanTao9-Dec-04 2:47
memberEvanTao9-Dec-04 2:47 
GeneralRe: Flickerring? Pin
feisi14-Jul-08 17:16
memberfeisi14-Jul-08 17:16 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Cookies | Terms of Use | Mobile
Web03 | 2.8.190214.1 | Last Updated 3 Aug 2002
Article Copyright 2000 by NormDroid
Everything else Copyright © CodeProject, 1999-2019
Layout: fixed | fluid