+1  A: 

You will want to do the following before the static text control is shown on the parent window.

  1. Get a handle to the window: CWnd * pwnd = GetDlgItem(IDC_LABEL);
  2. Get the current font for the static text: CFont * pfont = pwnd->GetFont();
  3. Get the characteristics of the font: LOGFONT lf; pfont->GetLogFont(&lf);
  4. Change the lfWeight and lfItalic fields in lf.
  5. Put a CFont object in your parent window, so it will exist for the entire lifetime of the child window.
  6. Initialize the CFont: m_font.CreateFontIndirect(&lf);
  7. Set the font into the static text window: pwnd->SetFont(&m_font);
Mark Ransom
Turns out, I also need to call a DeleteObject() on the font. http://social.msdn.microsoft.com/Forums/en-US/Vsexpressvc/thread/69089425-f186-47fe-9c32-baa29ac2a50c
Hamish Grubijan
Nope, that was also a bad idea.
Hamish Grubijan
MFC will call DeleteObject automatically when the CFont object is destroyed.
Mark Ransom