Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

CFontStatic for PocketPC

0.00/5 (No votes)
28 Oct 2004 1  
A class for setting various attributes of static text such as font, color, or alignment.

Sample Image - CFontStatic.gif

Introduction

This is a port of Patrik Svensson's CFontStatic class to PocketPC with a few modifications. The class allows to easily set various attributes of static text such as color, font or alignment.

Using the code

The CFontStatic class contains the following methods:

// set background color
void SetBackground(DWORD dwBgColor);
void SetBackground(int red, int green, int blue);

// set text color
void SetForeground(DWORD dwForeColor);
void SetForeground(int red, int green, int blue);

// set font attributes
void SetFontStatic(CString szFont, int nSize, 
                   DWORD dwColor, FontStyle dwStyle);
void SetFontStatic(CString szFont, int nSize);
void SetFontStatic(CString szFont);
void SetFontSize(int nSize);
void SetFontStyle(FontStyle dwStyle);

// set text alignment
void SetAlignment(AlignStyle style);

In order to use the class, you need to either declare an instance of the class in your code:

CFontStatic myLabel;

or associate a CFontStatic member of the dialog/view class with a resource in DoDataExchange():

DDX_Control(pDX, IDC_LBL_TOP, m_myLabel);

Here is an example of setting various attributes. You can either set them all in one hit, or only set the ones you need:

// set all attributes in one hit
m_lblTop.SetFontStatic(_T("Courier New"), 
         16, RGB(255, 255, 255), CFontStatic::FS_BOLD);

// alignment is set separately
m_lblMid.SetAlignment(CFontStatic::FS_CENTER);
m_lblMid.SetFontStatic(_T("Tahoma"), 18, GetSysColor(COLOR_STATICTEXT), 
                                         CFontStatic::FS_UNDERLINED);

// set attributes one by one
m_lblBot.SetBackground(255, 255, 255);
m_lblBot.SetForeground(0, 0, 128);
m_lblBot.SetFontSize(20);
m_lblBot.SetFontStatic(_T("Frutiger Linotype"));
m_lblBot.SetFontStyle(CFontStatic::FS_ITALIC);
// note that multiple calls of SetFontStyle()
// are needed to set more than one attribute
m_lblBot.SetFontStyle(CFontStatic::FS_UNDERLINED); 
m_lblBot.SetAlignment(CFontStatic::FS_RIGHT);

History

  • 29/10/2004 - Initial submission.

License

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