CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

简单问题:如何改变ComboBox中输入文字的字体?

楼主h_xin()2003-06-02 22:31:14 在 VC/MFC / 基础类 提问

我在程序的DialogBar中用代码生成了一个combobox,发现字体很粗,想改变,  
  但调用setfont方法发现只改变了combobox的外观尺寸,而输入的文字字体却没  
  有改变,请高人指教如何才能做到这两者一起改变?代码如下:  
  dialogbar的定义:  
  class   CQuickBar   :   public   CDialogBar      
  {  
  public:  
  CComboBox   m_URLComboBox;  
  CQuickBar();  
  virtual   ~CQuickBar();  
  //   ClassWizard   generated   virtual   function   overrides  
  //{{AFX_VIRTUAL(CQuickBar)  
  //}}AFX_VIRTUAL  
  protected:  
  //{{AFX_MSG(CQuickBar)  
  afx_msg   int   OnCreate(LPCREATESTRUCT   lpCreateStruct);  
  afx_msg   void   OnLButtonDown(UINT   nFlags,   CPoint   point);  
  //}}AFX_MSG  
  DECLARE_MESSAGE_MAP()  
   
  };  
  实现:  
  int   CQuickBar::OnCreate(LPCREATESTRUCT   lpCreateStruct)  
  {  
          if   (CDialogBar::OnCreate(lpCreateStruct)   ==   -1)  
  return   -1;  
          CRect   rect;  
          GetClientRect(&rect);  
          rect.top+=2;  
          rect.left+=100;  
          rect.right+=(-70);  
          rect.bottom   +=   400;  
         
          if   (!m_URLComboBox.Create(  
                  WS_CHILD|WS_VISIBLE|CBS_AUTOHSCROLL|CBS_DROPDOWN   |   CBS_HASSTRINGS   |SS_CENTERIMAGE|WS_BORDER|WS_TABSTOP   ,  
                  rect,   this,   IDC_COMBOBOXEX1))  
          {  
                  TRACE0("Failed   to   create   combobox\n");  
                  return   FALSE;  
          }  
   
            NONCLIENTMETRICS   ncm;  
            CFont   hFontMenu;  
            memset(&ncm,   0,   sizeof(NONCLIENTMETRICS));  
            ncm.cbSize   =   sizeof(NONCLIENTMETRICS);  
            if   (SystemParametersInfo(SPI_GETNONCLIENTMETRICS,   sizeof(NONCLIENTMETRICS),   &ncm,   0))  
            {  
                      hFontMenu.CreateFontIndirect(&ncm.lfMenuFont);  
            }  
            m_URLComboBox.SetFont(   &hFontMenu,true);  
            hFontMenu.DeleteObject();  
  return   0;  
  } 问题点数:0、回复次数:2Top

1 楼h_xin()回复于 2003-06-24 17:04:58 得分 0

自己解决了,原来CFont变量必须是全局可以访问的才行,不能是局部变量,过程一返回  
  就销毁了Top

2 楼lygfqy(风清扬)回复于 2003-06-24 17:31:11 得分 0

自立更生就是好Top

相关问题

  • 关于InputBox输入框中中文字体问题
  • ComboBox控件输入框能不能实现不能输入文字的功能?
  • Combobox中如何自动匹配输入文字
  • 如何限制combobox里面手输入的文字长度。
  • JBuilderX中文字体的问题,怎么解决光标对不齐,而且,输入中文都会显示“口”??
  • 网页文字字体
  • visio 中文字体问题
  • visio 中文字体问题
  • 我在win2000下,在RichEdit中输入中文,如果把选中文字的字体改为任一种中文字体,文字就旋转90',这是怎么回事?
  • 我已解决文字简繁体问题,现在还有一点小问题。如何判断输入的字体是简体还是繁体

关键词

  • 字体
  • ws
  • virtual
  • cquickbar
  • combobox
  • lpcreatestruct
  • 改变
  • afx
  • rect
  • oncreate

得分解答快速导航

  • 帖主:h_xin

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo