如: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好像不起作用, 字体仍然是默认的. 怎么回事呢?

解决方案 »

  1.   

    基类CWnd有一个SetFont函数,可以设置字体!第二个参数表示是否需要刷新控件中的文字!void SetFont( 
    CFont* pFont, 
    BOOL bRedraw = TRUE ); 
      

  2.   

    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));