使用VC 编程改变字体 注意点--需要设置GB2312—CHARSET

编程时,若将字体设置成“黑体、宋体、仿宋GB2312、楷体GB2312、隶书、幼圆”中的某一字体时,需将lfCharSet设置成GB2312CHARSET才使设置的字体有效。下面给出相关程序:

 1 CWnd *pWnd=GetDlgItem(IDC_USER);//获取标识号为IDC—USER的控件的CWnd指针
    2 CDC *pDC=pWnd->GetDC();
    3 CFont font;
    4 LOGFONT stFont;
    5 memset(&stFont,0,sizeof(LOGFONT));
    6 stFont.lfHeight=MulDiv(12,-pDC->GetDeviceCaps(LOGPIXELSY),72);//设置字体高度为12
      7 stFont.lfWeight=FW—NORMAL;
      8  stFont.lfCharSet=GB2312_CHARSET;
       9 strcpy(stFont.lfFaceName,"黑体");//设置字样为黑体
      10 font.CreateFontIndirect(&stFont);
      11 CFont *oldfont=pDC->SelectObject(&font);
      12 pWnd->SetFont(&font,TRUE);
      13 font.DeleteObject();
      14 pDC->SelectObject(oldfont);
      15 pWnd->ReleaseDC(pDC);

 

 

设置代码如下:

 LOGFONT stFont;
    memset(&stFont,0,sizeof(LOGFONT));
    stFont.lfHeight=25;//MulDiv(12,-pDC->GetDeviceCaps(LOGPIXELSY),72);//设置字体高度为12
    stFont.lfCharSet=GB2312_CHARSET;
    strcpy(stFont.lfFaceName,"华文彩云");//设置字样为黑体
    m_FontPD.CreateFontIndirect(&stFont);

 //m_FontPD.CreateFont (25, 0, 0, 0, 800, FALSE, 0, 0, 0, 0, 0, 0, 0, _T("华文彩云") );
 GetDlgItem(IDC_STATIC_PD)->SetFont(&m_FontPD);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值