VC 设置字体

VC 设置字体

 

    VC的对话框字体设置对所有控件都有效,你不能单独地改变某个静态文本的字体。对于你的问题,需要首先用CreateFont来建立一个字体对象,然后调用控件的SetFont,就可以了。  
        例子:  
        1、改静态文体的ID,如:IDC_STATIC1  
        2、添加一个Edit控件,建立一个关联的控件m_editControl。  
        3、在OnInitDialog中添加如下代码:  
          CFont   *   f;  
          f   =   new   CFont;  
          f-> CreateFont(16,   //   nHeight  
          0,   //   nWidth  
          0,   //   nEscapement  
          0,   //   nOrientation  
          FW_BOLD,   //   nWeight  
          TRUE,   //   bItalic   斜体
          FALSE,   //   bUnderline  
          0,   //   cStrikeOut  
          ANSI_CHARSET,   //   nCharSet  
          OUT_DEFAULT_PRECIS,   //   nOutPrecision  
          CLIP_DEFAULT_PRECIS,   //   nClipPrecision  
          DEFAULT_QUALITY,   //   nQuality  
          DEFAULT_PITCH   |   FF_SWISS,   //   nPitchAndFamily  
          _T( "Arial "));   //   lpszFac  
          m_editControl.SetFont(f);  
          m_editControl.SetWindowText( "问专家 ");  
          GetDlgItem(IDC_STATIC1)-> SetFont(f);  


        需要注意的是,这里我们使用的是CFont指针,而不是普通的CFont局部变量,如果把程序改成下面这样:  
          CFont   f;  
          f.CreateFont(16,   //   nHeight  
          0,   //   nWidth  
          0,   //   nEscapement  
          0,   //   nOrientation  
          FW_BOLD,   //   nWeight  
          TRUE,   //   bItalic  
          FALSE,   //   bUnderline  
          0,   //   cStrikeOut  
          ANSI_CHARSET,   //   nCharSet  
          OUT_DEFAULT_PRECIS,   //   nOutPrecision  
          CLIP_DEFAULT_PRECIS,   //   nClipPrecision  
          DEFAULT_QUALITY,   //   nQuality  
          DEFAULT_PITCH   |   FF_SWISS,   //   nPitchAndFamily  
          _T( "Arial "));   //   lpszFac  
          m_editControl.SetFont(&f);  
          m_editControl.SetWindowText( "问专家 ");  
          GetDlgItem(IDC_STATIC1)-> SetFont(&f);  
        运行后就得不到想要的效果了,因为OnInitDialog函数执行完毕,CFont   f就会被清除。必须保证SetFont设置的字体对象在对话框关闭前一直有效。所以通常是使用指针或类成员的方式来保存所建立的字体对象。  
        非MFC程序,首先用CreateFont来建立一个字体句柄,然后再用SendMessage发给控件WM_SETFONT消息,将建立的字体句柄赋值过去,就可以了。

 

摘自:    http://topic.csdn.net/t/20050501/17/3979892.html


设置TextOut 字体

CFont font,*pOldFont;
font.CreateFont(......); //此处参数较多,建议楼主上网查一下
pOldFont=pDC->SelectObject(&font);
pDC->TextOut(100,100,"123");
pDC->SelectObject(pOldFont);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值