各位高手,帮忙,我想改变控件字体的大小,请问有什么简单的方法?

解决方案 »

  1.   

    关联一个控件变量,在窗口类里面定义一个CFont类成员变量,窗口初始化时,调用控件变量的GetFont函数取控件字体类指针,再用GetLogFont获取逻辑字体结构,改变结构中大小,然后调用CFont类成员变量的CreateFontIndirect函数,再调用控件变量的SetFont函数设置新的字体。
      

  2.   

    如一楼所说的。VC的控件也忒弱了,改个字体还得在OnInitialDlg里写。。不过也可以不关联变量,直接
    GetDlgItem(ID_)也行。
      

  3.   

    建议重做控件,反正以后都要用到,而且用自己的控件你可以深入了解windows。
      

  4.   

    void CEx0625Dlg::OnButton2() 
    {
    CFont* pFont = m_editCtrl.GetFont();//m_editCtrl与编辑框相关联 LOGFONT logFont ;
    pFont->GetLogFont(&logFont);
    logFont.lfHeight *= 1.5;
    logFont.lfWeight *= 1.5; CFont font ;
    font.CreateFontIndirect(&logFont); m_editCtrl.SetFont(&font);
    }
      

  5.   

    edit->find in files查找font后再在里面修改即可
      

  6.   

    edit->find in files中查找font,然后再在文件中相应地方修改即可
      

  7.   

    对于多个控件,可以在类中定义一个CFont数组,如果个数很多可以用new分配,然后做一个函数来调用,把字体大小和数组下标定义为函数参数。
      

  8.   

    修改多个控件的字体可以这样。void CEx0625Dlg::OnButton2() 
    {
    UINT uIDs[] = {IDC_EDIT1,IDC_EDIT2,IDC_EDIT3};
    for(int i = sizeof(uIDs)/sizeof(uIDs[0]) - 1 ; i >= 0 ; i-- )
    {
    CWnd* pWnd = GetDlgItem(uIDs[i]);
    CFont* pFont = pWnd->GetFont();//m_editCtrl与编辑框相关联

    LOGFONT logFont ;
    pFont->GetLogFont(&logFont);
    logFont.lfHeight *= 1.5;
    logFont.lfWeight *= 1.5;

    CFont font ;
    font.CreateFontIndirect(&logFont);

    pWnd->SetFont(&font);
    }
    }
      

  9.   

    为什么我使用了GetLogFont,提示我undeclared identifier??