博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

小技巧-给CEdit设置字体

Posted on 2008-10-11 14:17  浪端之渡鸟  阅读(2717)  评论(0)    收藏  举报

小技巧-给CEdit设置字体

关键词CEdit    字体    LOGFONT    CFont                                          

 

给CEDIT设置字体的代码:

在类的.h内

 CMyEdit * m_pEdit;
 CFont font;

在类的cpp文件中:

 LOGFONT lf;
  memset(&lf,0,sizeof(LOGFONT));
  lf.lfHeight =   height;                // request a 12-pixel-height font
  //lf.lfWidth = 0;
  lf.lfWeight = FW_BOLD;
  strcpy(lf.lfFaceName, "Arial");        // request a face name "Arial"
  VERIFY(font.CreateFontIndirect(&lf));  // create the font
  m_pEdit = new CMyEdit;
   m_pEdit->Create(WS_CHILD | WS_VISIBLE | WS_TABSTOP ,CRect(1, 1, width+1, height+1), this, 100); 
  m_pEdit->SetFont(&font);

需要注意的是:

设置CEdit控件的字体需要使用 CEdit::SetFont() 函数,然而输入参数却不能是局部变量,需要在CEdit控件的整个生存期间都有效,因此需要把CFont变量设置为类内参数或全局,总之要在CEdit存在的时候CFont都存在