QQ登录

只需一步,快速开始

上位机MFC如何设置组合框列表宽度

[ 复制链接 ]
我们知道组合框在下拉时,内容可能不能完全显示出来,
这时我们就要根据文本宽度,设置组合 框下拉列表的宽度。
我们可以通过初始化时调用下面代码来运行程序查看效果。
主要用到的函数为SetDroppedWidth。
  1.        
  2.         //向组合框中列表框添加文本
  3.         for (int n = 0 ; n < 10; n++)
  4.         {
  5.                 m_ctrlComboBox.AddString(_T("Hello World!"));
  6.         }

  7.         int nWidth = 0;

  8.         CDC* pDC = m_ctrlComboBox.GetDC();

  9.         for (n = 0; n < m_ctrlComboBox.GetCount(); n++)
  10.         {
  11.                 CString strText = _T("");
  12.                 int nTextWidth = 0;

  13.                 //获得组合框中列表框文本
  14.                 m_ctrlComboBox.GetLBText(n, strText);

  15.                 //获得组合框中列表框文本宽度
  16.                 nTextWidth = pDC->GetTextExtent(strText).cx;

  17.                 nWidth = max(nWidth, nTextWidth);
  18.         }

  19.         m_ctrlComboBox.ReleaseDC(pDC);

  20.         //加滚动条宽度和左右边界宽度
  21.         nWidth += ::GetSystemMetrics(SM_CXVSCROLL)
  22.                 + ::GetSystemMetrics(SM_CXEDGE) * 2;

  23.         //设置组合框中列表框宽度
  24.         m_ctrlComboBox.SetDroppedWidth(nWidth);
复制代码

上位机MFC如何设置组合框列表宽度

上位机MFC如何设置组合框列表宽度

提供一例程供大家参考学习。
运行例程,可以看到,程序界面与组合框的宽度都很窄,
但组合框下拉时内容可以完全显示出来。
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:上位机MFC如何设置组合框列表宽度.rar 
文件大小:149.01 KB  售价:1金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我


回复

使用道具 举报

快速回复 返回列表 客服中心 搜索