
vc++6.0中如何修改组合框中编辑控件或静态控件中的 字体
2个回答
展开全部
//注:fDrawFont是定义的全局CFont变量
CStatic* stcYourStc = (CStatic*)GetDlgItem(/*你的静态控件的ID*/);
CRect rc;
stcYourStc->GetClientRect(&rc);
int h = rc.Height()-2;//用来确定字体的高度
int w = rc.Height()/3-5;//用来确定字体的宽度
if(rc.Width() < 5 * w)
{
h = rc.Width();
w = rc.Width()/5-5;
}
if(fDrawFont.m_hObject != NULL)
fDrawFont.DeleteObject();
if(fDrawFont.m_hObject == NULL)
fDrawFont.CreateFont(h, w, 0, 0, 20, FALSE, FALSE, ANSI_CHARSET,
CLIP_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, PROOF_QUALITY,
DEFAULT_PITCH, FF_DONTCARE, "Arail");
stcYourStc->SetFont(&fDrawFont);
//居中显示需要在控件的属性里设置,也可以用代码来修改的,这里就不叙述代码修改的方法了。
CStatic* stcYourStc = (CStatic*)GetDlgItem(/*你的静态控件的ID*/);
CRect rc;
stcYourStc->GetClientRect(&rc);
int h = rc.Height()-2;//用来确定字体的高度
int w = rc.Height()/3-5;//用来确定字体的宽度
if(rc.Width() < 5 * w)
{
h = rc.Width();
w = rc.Width()/5-5;
}
if(fDrawFont.m_hObject != NULL)
fDrawFont.DeleteObject();
if(fDrawFont.m_hObject == NULL)
fDrawFont.CreateFont(h, w, 0, 0, 20, FALSE, FALSE, ANSI_CHARSET,
CLIP_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, PROOF_QUALITY,
DEFAULT_PITCH, FF_DONTCARE, "Arail");
stcYourStc->SetFont(&fDrawFont);
//居中显示需要在控件的属性里设置,也可以用代码来修改的,这里就不叙述代码修改的方法了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询