怎样改变Edit的字体

suisuibianbian 2003-09-02 09:26:13
如题
能具体点吗?谢谢
...全文
22 点赞 收藏 9
写回复
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
suisuibianbian 2003-09-03
dc未声明
怎么办
回复
hk028 2003-09-03
OnCtrlColor()里用上面的方法
回复
sunheroshang 2003-09-03
学习
回复
suisuibianbian 2003-09-02
对不起
忘了说,等宽字体怎样设置,即大小写的字母的宽度是一样的
回复
hellolwl 2003-09-02
wangjinwang(王进)一语道破天机,m_font要么设置成member variable,要么前面加个static,这点尤其重要
回复
whoishere 2003-09-02
通过调用Edit的SetFont,例如:
LOGFONT m_lf;
CFont m_font;

::GetObject((HFONT)GetStockObject(DEFAULT_GUI_FONT),sizeof(m_lf),&m_lf);
// 可以通过m_lf.lfFaceName设置字体名称,略

// 字体大小
m_lf.lfHeight = m_lf.lfHeight*2;
m_lf.lfWidth = m_lf.lfWidth*2;
// 粗体
m_lf.lfWeight = FW_BOLD;
// 斜体
m_lf.lfItalic = TRUE;
// 下划线
m_lf.lfUnderline = TRUE;

// 重建字体
if( m_font.m_hObject != NULL )
m_font.DeleteObject();
BOOL bCreated = m_font.CreateFontIndirect(&m_lf);

m_Edit.SetFont( &m_font );
回复
flinming 2003-09-02
试试!!
回复
孤必有邻 2003-09-02
注意:CFont m_font;一定要定义成全局或成员对象,有在字体有效期间,不能释放

CFont m_font;
m_font.CreateFont(
MulDiv(20,-dc.GetDeviceCaps(LOGPIXELSY),72),//高度20象素
20,//是不是20象素我也不清楚
0,0,FW_NORMAL,0,0,0,
ANSI_CHARSET,OUT_STROKE_PRECIS,CLIP_STROKE_PRECIS,DRAFT_QUALITY,
VARIABLE_PITCH|FF_SWISS,
_T("Arial"));
m_Edit.SetFont(&m_font);
回复
hellolwl 2003-09-02
CFont font;
font.CreatePointFont(120,"宋体");
m_Edit.SetFont(&font);
回复
发动态
发帖子
界面
创建于2007-09-28

1.5w+

社区成员

VC/MFC 界面
申请成为版主
社区公告
暂无公告