Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C++ MFC
Hi all,
 
I'm trying to figure out what is the best way of dealing with dynamic CFonts, eg. They take on different parameters on initialization everytime the Draw() function is called.
 
Currently what I have is that I store the CFont as a member variable and initialize it on construction.
 
If the user were to change the text size or orientation, I call the following series of codes.
 
m_iTextSize = newSize;
m_dOrientation = newOrientation;
 
m_DrawFont.DeleteObject();
m_DrawFont.CreateObject(m_iTextSize,
0,
m_dOrientation * 10,
0,
FW_NORMAL,
FALSE,
FALSE,
0,
ANSI_CHARSET,
OUT_DEFAULT_PRECIS
CLIP_DEFAULT_PRECIS,
DEFAULT_QUALITY,
DEFAULT_PITCH | FF_SWISS,
"Arial");
 
And when I have to print out the message, I call the following series of codes.
CDC * pDC = GetDC();
CFont * pOldFont = pDC->SelectObject(&m_DrawFont);
pDC->TextOut(locationX, locationY, m_Text);
...
 
Would it be better if I were if I instantiate a local CFont inside my Draw() function?
Posted 9-Sep-12 18:02pm
amsga570

1 solution

Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

I believe what you're doing is a good way to get it done.
  Permalink  

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 Sergey Alexandrovich Kryukov 520
1 Mathew Soji 335
2 BillWoodruff 260
3 OriginalGriff 215
4 Afzaal Ahmad Zeeshan 188
0 OriginalGriff 6,168
1 Sergey Alexandrovich Kryukov 5,853
2 DamithSL 5,028
3 Manas Bhardwaj 4,539
4 Maciej Los 3,845


Advertise | Privacy | Mobile
Web04 | 2.8.1411019.1 | Last Updated 10 Sep 2012
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100