wince平台 mfc基于对话框的程序,DrawTextS时如何将字体设置成“微软雅黑”?需要下载字体吗?
我现在的实现方式如下,这样做字体还是宋体,哪里的问题啊?类成员变量:
CDC * pDCDrawText;
CFont m_font;
设置字体:
m_font.CreatePointFont(240,_T("微软雅黑"),NULL);
COLORREF crOld = SetTextColor(pDCDrawText->m_hDC,RGB(255,255,255));
pDCDrawText->SelectObject(&m_font); 

解决方案 »

  1.   

    .h文件中加一个字体设置函数:
    afx_msg LRESULT OnSetFont(WPARAM wParam, LPARAM lParam);
    .cpp中添加消息映射:
    ON_MESSAGE(WM_SETFONT, OnSetFont)
    消息响应函数的实现:
    LRESULT CMyXXDlg::OnSetFont(WPARAM wParam, LPARAM lParam)
    {
      CRect rc;
      GetWindowRect(&rc);  WINDOWPOS wp;
      wp.hwnd = this->m_hWnd;
      wp.cx = rc.Width() ;
      wp.cy = rc.Height() ;
      wp.flags = SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOOWNERZORDER | SWP_NOZORDER;  LRESULT lrReturn(Default());  SendMessage(WM_WINDOWPOSCHANGED, 0, reinterpret_cast<LPARAM> (&wp));  return lrReturn;
    }
    在对话框初始化函数中设定字体:
      m_font.CreatePointFont(240,_T("微软雅黑"));
      SetFont(&m_font);
      
      
      

  2.   

    调用SetFont(&m_font); 这个函数的时候会发送WM_SETFONT 消息是吗?需不需要下载字库啊?
      

  3.   

    你右键单击对话框----属性-----Font(size)点击右边的小按钮
      

  4.   


    字体有啊,我是用在WINCE平台的,是不是要加些别的设置啊?