Automatic Font Handling Class


A while back ago, I realized that I didn't want to fill in the LOGFONT structure anymore, so I created the CAutoFont class, derived from CFont, so it can be used in place of any CFont objects that you may already have in your code. The benifit of the class is that you don't have to fill in a LOGFONT structure, or write out a huge CreateFont command. Simply define a variable of type CAutoFont, with the name of the font you want as its single parameter (Times New Roman, for example), then set its parameters as necessary:

CAutoFont font("Comic Sans MS");
CAutoFont does all of the LOGFONT and CreateFont work in the background, freeing the developer from them. Besides font manipulation functions, CAutoFont also has a function for converting its internal LOGFONT structure into a single string, which is useful if you want to store the font to the registry, for example, and a function to convert the string back. In my opinion, very useful.

I've included a sample project file with the class. Hope it serves somebody as well as it's served me.


Download source - 3 Kb
Download demo - 24 Kb


  • There are no comments yet. Be the first to comment!

Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Agencies that integrate back-office processed with cloud-based services, advanced analytics and talent management solutions can reduce costs, maximize efficiencies and transform employee recruitment and retention. Learn more by reading this interview brief by GovLoop with Infor industry thought leaders.

  • Why use NoSQL? Innovative companies like AT&T, GE, and PayPal have successfully transitioned from relational to NoSQL for their critical web, mobile, and IoT applications. By understanding where to introduce NoSQL, how to model and access the data, and how to manage and monitor a distributed database, you can do the same. This white paper explains the need for non-relational databases, describes advantages of NoSQL, and clarifies the important difference between SQL and NoSQL databases. We walk you …

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date