想更改CMFCPropertyGridProperty字体
代码如下CFont* myFont = new CFont;
myFont->CreateFont(
15, // nHeight
0, // nWidth
0, // nEscapement
0, // nOrientation
FW_NORMAL, // nWeight
FALSE, // bItalic
FALSE, // bUnderline
0, // cStrikeOut
GB2312_CHARSET, // nCharSet
OUT_DEFAULT_PRECIS, // nOutPrecision
CLIP_DEFAULT_PRECIS, // nClipPrecision
CLEARTYPE_QUALITY, // nQuality
DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily
_T("宋体"));
.......
m_MFCPGCtrl.SetFont(myFont,true);....
myFont->Detach();
delete myFont;
有new 有delete
字体设置成功 但最后提示有内存泄漏
请问怎么办
代码如下CFont* myFont = new CFont;
myFont->CreateFont(
15, // nHeight
0, // nWidth
0, // nEscapement
0, // nOrientation
FW_NORMAL, // nWeight
FALSE, // bItalic
FALSE, // bUnderline
0, // cStrikeOut
GB2312_CHARSET, // nCharSet
OUT_DEFAULT_PRECIS, // nOutPrecision
CLIP_DEFAULT_PRECIS, // nClipPrecision
CLEARTYPE_QUALITY, // nQuality
DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily
_T("宋体"));
.......
m_MFCPGCtrl.SetFont(myFont,true);....
myFont->Detach();
delete myFont;
有new 有delete
字体设置成功 但最后提示有内存泄漏
请问怎么办
myFont->CreateFont(
15, // nHeight
0, // nWidth
0, // nEscapement
0, // nOrientation
FW_NORMAL, // nWeight
FALSE, // bItalic
FALSE, // bUnderline
0, // cStrikeOut
GB2312_CHARSET, // nCharSet
OUT_DEFAULT_PRECIS, // nOutPrecision
CLIP_DEFAULT_PRECIS, // nClipPrecision
CLEARTYPE_QUALITY, // nQuality
DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily
_T("宋体"));
.......
HFONT oldfont = m_MFCPGCtrl.GetFont();
m_MFCPGCtrl.SetFont(myFont,true);....
m_MFCPGCtrl.SetFont(oldfont,true);
myFont->DeleteObject();
delete myFont;
去掉此函数直接delete
m_MFCPGCtrl.SetFont(myFont,true);....
m_MFCPGCtrl.SetFont(oldfont,true);
myFont->DeleteObject();
delete myFont;
15, // nHeight
0, // nWidth
0, // nEscapement
0, // nOrientation
FW_NORMAL, // nWeight
FALSE, // bItalic
FALSE, // bUnderline
0, // cStrikeOut
GB2312_CHARSET, // nCharSet
OUT_DEFAULT_PRECIS, // nOutPrecision
CLIP_DEFAULT_PRECIS, // nClipPrecision
CLEARTYPE_QUALITY, // nQuality
DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily
_T("宋体")); CFont *pOldFont = dc.SelectObject(&newFont);
...
dc.TextOut(rect.left, rect.top-50,strtmpText);