我在EditView中的OnInitUpdate中这样设置字体,怎么不成功啊
CFont font; if(!(font.CreateFont(0,0,0,0,FW_NORMAL,FALSE,FALSE,FALSE,
GB2312_CHARSET,OUT_TT_PRECIS,CLIP_TT_ALWAYS,
DEFAULT_QUALITY,DEFAULT_PITCH,"Fixedsys")))
{
font.CreateStockObject(SYSTEM_FONT);
}
SetFont(&font,1);
CFont font; if(!(font.CreateFont(0,0,0,0,FW_NORMAL,FALSE,FALSE,FALSE,
GB2312_CHARSET,OUT_TT_PRECIS,CLIP_TT_ALWAYS,
DEFAULT_QUALITY,DEFAULT_PITCH,"Fixedsys")))
{
font.CreateStockObject(SYSTEM_FONT);
}
SetFont(&font,1);
LOGFONT logFont;//?
ZeroMemory((void*)&logFont,sizeof(logFont));//初始化
strcpy(logFont.lfFaceName,"宋体");
logFont.lfHeight = 15;
logFont.lfWeight = 15;
logFont.lfCharSet = GB2312_CHARSET;
logFont.lfOutPrecision = 3;
logFont.lfClipPrecision = 2;
logFont.lfQuality = 1;
logFont.lfPitchAndFamily = 2;
m_font1.CreateFontIndirect(&logFont);
pDC->SelectObject(&m_font1);
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(0,0,0));
edit.SetFont(字体变量);
1. 你字体创建的不对,用mengqimxz(*雨*) 的创font的那段代码试试;
2. 把你的CFont变量设成类成员变量
{
if (CEditView::OnCreate(lpCreateStruct) == -1)
return -1; font.CreateFont(
12, // nHeight
0, // nWidth
0, // nEscapement
0, // nOrientation
FW_NORMAL, // 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 CEdit &edit=this->GetEditCtrl();
edit.SetFont(&font,1); return 0;
}我测试过了vc2003