写一下。因为我以c++不熟。。
 例那文本框Id是IDC_LOGIN

解决方案 »

  1.   

    CFont lf;
    (CEdit*)GetDlgItem(IDC_LOGIN)->SetFont(&lf);
      

  2.   


            CFont *font;
            LOGFONT stFont;
    CStatic *stc = (CStatic *)GetDlgItem(IDC_LOGIN); memset(&stFont, 0, sizeof(LOGFONT));
    font = stc->GetFont();
    font->GetLogFont(&stFont); stFont.lfHeight = 26; //可以设置字体的宽高,即改变字体的大小
    stFont.lfWeight = 24;
    //stFont.lfStrikeOut = TRUE;
    stFont.lfWeight = FW_SEMIBOLD;
    stFont.lfCharSet=GB2312_CHARSET;
    wcscpy(stFont.lfFaceName, _T("新宋体"));//设置字样为新宋体
    font->CreateFontIndirect(&stFont);
    stc->SetFont(font,TRUE);        font->DeleteObject();
    如果是在应用中动态改变的话,应该把font改为类的数据成员才可以。在窗口销毁过程中font->DeleteObject();就可以了。
      

  3.   

    CFont font;
    font.CreateFont(参数);
    GetDlgItem(IDC_LOGIN)->SetFont(&font);CreateFont参数为:
    BOOL CreateFont(
       int nHeight,
       int nWidth,
       int nEscapement,
       int nOrientation,
       int nWeight,
       BYTE bItalic,
       BYTE bUnderline,
       BYTE cStrikeOut,
       BYTE nCharSet,
       BYTE nOutPrecision,
       BYTE nClipPrecision,
       BYTE nQuality,
       BYTE nPitchAndFamily,
       LPCTSTR lpszFacename 
    );如果感觉比较复杂,可以用
    BOOL CreatePointFont(
       int nPointSize,
       LPCTSTR lpszFaceName,
       CDC* pDC = NULL 
    );那么:
    CFont font;
    font.CreatePointFont(200, "宋体", NULL);
    GetDlgItem(IDC_LOGIN)->SetFont(&font);但你要保证你有LPCTSTR lpszFaceName的字体。其中200就是大小了。