如何在一个对话框中将部分静态控件字体放大?
2.formview和对话框有什么区别?

解决方案 »

  1.   

    使用自定义类吧,将需要单独调整字体的控件派生一下,重载ON_WM_CTLCOLOR_REFLECT消息的处理。
    // in .h file
    afx_msg HBRUSH CtlColor(CDC* pDC, UINT nCtlColor);
    // in cpp file
    BEGIN_MESSAGE_MAP(CMyEdit, CEdit)
    //{{AFX_MSG_MAP(CMyEdit)
    ON_WM_CTLCOLOR_REFLECT()
    //}}AFX_MSG_MAP
    END_MESSAGE_MAP()HBRUSH CMyEdit::CtlColor(CDC* pDC, UINT nCtlColor){
      // TODO: 在此添加命令处理程序代码或调用父类的处理函数
      static CFont m_font;  HBRUSH hbr = NULL;
      if (!(HFONT)m_font) {
        // first time init: create font
        LOGFONT lf;
        GetFont()->GetObject(sizeof(lf), &lf);
        strcpy(lf.lfFaceName ,"黑体");
        m_font.CreateFontIndirect(&lf);
      }  pDC->SelectObject(&m_font);
      pDC->SetTextColor(m_CtlColor);  // blue
      pDC->SetBkMode(TRANSPARENT);  return ((HBRUSH)::GetStockObject(DEFAULT_PALETTE));
    }
      

  2.   

    很简单----给要改变字体的控件发送一个WM_SETFONT消息,当然,消息中要携带字体信息,具体参见MSDN