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?