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");
font.SetBold(TRUE);
font.SetEscapement(900);
font.SetHeight(24);
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.

Downloads

Download source - 3 Kb
Download demo - 24 Kb


Comments

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

Top White Papers and Webcasts

  • Live Event Date: August 20, 2014 @ 1:00 p.m. ET / 10:00 a.m. PT When you look at natural user interfaces as a developer, it isn't just fun and games. There are some very serious, real-world usage models of how things can help make the world a better place – things like Intel® RealSense™ technology. Check out this upcoming eSeminar and join the panel of experts, both from inside and outside of Intel, as they discuss how natural user interfaces will likely be getting adopted in a wide variety …

  • Live Event Date: August 14, 2014 @ 2:00 p.m. ET / 11:00 a.m. PT Data protection has long been considered "overhead" by many organizations in the past, many chalking it up to an insurance policy or an extended warranty you may never use. The realities of today makes data protection a must-have, as we live in a data-driven society -- the digital assets we create, share, and collaborate with others on must be managed and protected for many purposes. Check out this upcoming eSeminar and join Seagate Cloud …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds