以下是我在MSDN上看到的:
-------------------------------------------------------------------------
9.CPropertySheet总是将它的字体变为缺省字体。即使在资源编辑器中改变了属性页的字体,在运行时属性页也会以系统字体显示。如果有必要改变字体,在OnInitDialog中调用SetFont();然后使用合适的MoveWindow()调整页的大小并移动,调整页上所有控件的大小。还有,无论什么时候,当一个页被激活时,属性也就会恢复到原来的大小,因此,有必要调整页的大小以响应标签控件上的单击。
-------------------------------------------------------------------------
请问如何设置各个页的字体?

解决方案 »

  1.   

    LOGFONT m_lf;
    m_lf.lfWidth = 200;
    m_lf.lfHeight = 200;
    m_lf.lfCharSet = GB2312_CHARSET;
    m_lf.lfOutPrecision = 3;
    m_lf.lfClipPrecision = 2;
    m_lf.lfQuality = PROOF_QUALITY;
    m_lf.lfPitchAndFamily = 49;
    m_lf.lfEscapement = 0;
    m_lf.lfOrientation = 0;
    m_lf.lfUnderline = 0;
    m_lf.lfPitchAndFamily = DEFAULT_PITCH|FF_ROMAN;以上是所有参数的指定
    然后用SetFont()
      

  2.   

    To: carbon107(<软件开发思想.h>) 
    是在OnInitDialog() 中对CPropertySheet自己SetFont()吗?
      

  3.   

    好像不起作用,大家帮忙看一下:
    BOOL CMainPageSheet::OnInitDialog() 
    {
    BOOL bResult = CPropertySheet::OnInitDialog();

    LOGFONT m_lf;
    m_lf.lfWidth = 200;
    m_lf.lfHeight = 200;
    m_lf.lfCharSet = GB2312_CHARSET;
    m_lf.lfOutPrecision = 3;
    m_lf.lfClipPrecision = 2;
    m_lf.lfQuality = PROOF_QUALITY;
    m_lf.lfPitchAndFamily = 49;
    m_lf.lfEscapement = 0;
    m_lf.lfOrientation = 0;
    m_lf.lfUnderline = 0;
    m_lf.lfPitchAndFamily = DEFAULT_PITCH|FF_ROMAN;
    CFont TempFont;
    TempFont.CreateFontIndirect( &m_lf );
    this->SetFont( &TempFont ); return bResult;
    }
      

  4.   

    加上
    m_lf.Weight=     //灰度
    m_lf.StrikeOut=  //删除线
    m_lf.Italic=   //斜体
    m_lf.lfFaceName=  //字体的字样名
      

  5.   

    呵呵,问题我自己已解决了,多谢大家的支持,thank you!!!