CFont m_font ;
m_font.CreateFont(100, // nHeight
60, // nWidth
0, // nEscapement
0, // nOrientation
FW_EXTRABOLD, // nWeight
FALSE, // bItalic
FALSE, // bUnderline
0, // cStrikeOut
ANSI_CHARSET, // nCharSet
OUT_DEFAULT_PRECIS, // nOutPrecision
CLIP_DEFAULT_PRECIS, // nClipPrecision
DEFAULT_QUALITY, // nQuality
DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily
"Arial"); // lpszFacename
GetDlgItem(IDC_STATIC)->SetFont( &m_font ) ;无论nHeight nWidth设多大,字体大小总是不变大,怎么回事?
於是我將
CFont m_font ;
将以上一行定义放到类定义里面去,作为类的成员变量。就可以了。我想知道爲什麽會這樣?有人說函数执行完后m_font立刻析購了。請問執行setfont(&m_font)怎麽會析購呢?
m_font.CreateFont(100, // nHeight
60, // nWidth
0, // nEscapement
0, // nOrientation
FW_EXTRABOLD, // nWeight
FALSE, // bItalic
FALSE, // bUnderline
0, // cStrikeOut
ANSI_CHARSET, // nCharSet
OUT_DEFAULT_PRECIS, // nOutPrecision
CLIP_DEFAULT_PRECIS, // nClipPrecision
DEFAULT_QUALITY, // nQuality
DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily
"Arial"); // lpszFacename
GetDlgItem(IDC_STATIC)->SetFont( &m_font ) ;无论nHeight nWidth设多大,字体大小总是不变大,怎么回事?
於是我將
CFont m_font ;
将以上一行定义放到类定义里面去,作为类的成员变量。就可以了。我想知道爲什麽會這樣?有人說函数执行完后m_font立刻析購了。請問執行setfont(&m_font)怎麽會析購呢?
CFont* m_font = new CFont() ;
m_font->CreateFont(100, // nHeight
60, // nWidth
0, // nEscapement
0, // nOrientation
FW_EXTRABOLD, // nWeight
FALSE, // bItalic
FALSE, // bUnderline
0, // cStrikeOut
ANSI_CHARSET, // nCharSet
OUT_DEFAULT_PRECIS, // nOutPrecision
CLIP_DEFAULT_PRECIS, // nClipPrecision
DEFAULT_QUALITY, // nQuality
DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily
"Arial"); // lpszFacename
GetDlgItem(IDC_STATIC)->SetFont( m_font ) ;
m_Font = CreateFont(
11,// nHeight
0,// nWidth
0,// nEscapement
0,// nOrientation
FW_NORMAL,// nWeight
FALSE,// bItalic
FALSE,// bUnderline
FALSE,// cStrikeOut
ANSI_CHARSET,// nCharSet
OUT_DEFAULT_PRECIS,// nOutPrecision
CLIP_DEFAULT_PRECIS,// nClipPrecision
ANTIALIASED_QUALITY,// nQuality
DEFAULT_PITCH | FF_SWISS,// nPitchAndFamily
_T("Courier"));// lpszFacename::SendMessage(::GetDlgItem(m_hWnd,IDC_VIEWEDIT),WM_SETFONT,(WPARAM)m_Font,MAKELPARAM(TRUE, 0));