动态创建的CEdit,CButton等控件如何改变字体?

fat_how 2005-06-29 09:31:56
如:

int CMyWnd::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CWnd::OnCreate(lpCreateStruct) == -1)
return -1;

m_font.CreateFont(9,0,0,0,FW_THIN,FALSE,FALSE,FALSE,ANSI_CHARSET,
OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,PROOF_QUALITY,
DEFAULT_PITCH+FF_DONTCARE, "宋体");

m_editPath.Create(ES_MULTILINE | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER,
CRect(CPoint(10,10), CSize(300,30)), this, 1);
m_editPath.SetFont(&m_font);

m_btnBrowse.Create(_T("你好"), WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON,
CRect(CPoint(315, 10), CSize(40, 30)), this, ID_BTN_BROWSE);
m_btnBrowse.SetFont(&m_font);

return 0;
}

但是代码中的SetFont好像不起作用, 字体仍然是默认的. 怎么回事呢?
...全文
178 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
interceptor 2005-06-29
  • 打赏
  • 举报
回复
m_lbHisType.Create(NULL,WS_CHILD|WS_VISIBLE|SS_CENTER,
CRect(8,20,300,40),this,IDC_STATIC_FILETYPE);
m_lbTimeCurrent.Create(NULL,WS_CHILD|WS_VISIBLE|SS_CENTER,
CRect(300,20,500,40),this,IDC_STATIC_TIME);
m_lbTimeCurrent.ShowWindow(SW_HIDE);
// m_lbHisType.SetText("历史数据类型:");
m_lbHisType.setFont(-12,FW_BLACK,"宋体");
m_lbHisType.SetTextColor(RGB(85,61,231));
m_lbTimeCurrent.setFont(-12,FW_BLACK,"宋体");
m_lbTimeCurrent.SetTextColor(RGB(85,61,231));
handwolf 2005-06-29
  • 打赏
  • 举报
回复
基类CWnd有一个SetFont函数,可以设置字体!

第二个参数表示是否需要刷新控件中的文字!

void SetFont(
CFont* pFont,
BOOL bRedraw = TRUE );

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧