QQ登录

只需一步,快速开始

64上位机VC MFC列表控件自动添加与调节水平滚动条

[ 复制链接 ]

64上位机VC MFC列表控件自动添加与调节水平滚动条

64上位机VC MFC列表控件自动添加与调节水平滚动条

64上位机VC MFC列表控件自动添加与调节水平滚动条


功能展示

我们开发上位机应用到列表控件时,会发现它有自带水平垂直滚动条,垂直滚动条可自行调节大小,水平却无法实现自动添加与调节,我们当前例程就来简单快速实现列表控件自动添加与调节水平滚动条功能,效果如图
要点提示
想要让列表控件有自动添加与调节水平滚动条功能,除了设置它的水平条属性外,还得向它发送LB_SETHORIZONTALEXTENT消息,设置它的水平滚动条长度;我们可以通过SendDlgItemMessage()这个函数实现。这个函数主要实现向对话筐控件发送消息LRESULT SendDlgItemMessage( int nID, UINT message, WPARAM wParam = 0, LPARAM lParam = 0 );
nID 为控件ID, message为要发送的消息;wParam, lParam 为消息的附带信息;
我们当前例程通过SendDlgItemMessage(IDC_LIST1,LB_SETHORIZONTALEXTENT, sz.cx, 0);形式实现;sz.cx为文本的总长度





实现功能
1.新建基于对话框的应用程序
2.拖拽一个列表框控件,设置水平垂直滚动条属性,并关联一变量CListBox  m_List;
3.拖拽一编辑框控件,用于向列表控件添加文本,并关联一变量CEdit  m_Edit;

4.拖拽一按钮控件,实现消息响应
  1. void CGkbc8Dlg::OnAdd()
  2. {
  3.         //获取文本
  4.         CString str;
  5.         m_Edit.GetWindowText(str);
  6.         m_Edit.SetWindowText("");
  7.         m_List.AddString(str);

  8.         CRect rc;
  9.         CSize sz;
  10.         m_List.GetWindowRect(rc);
  11.         CDC *pDC =m_List.GetDC();
  12.         sz = pDC->GetTextExtent(str);
  13.         if(sz.cx>=rc.Width())//如果文本的总长度超出列表框的长度时
  14.                 SendDlgItemMessage(IDC_LIST1, LB_SETHORIZONTALEXTENT, sz.cx, 0);
  15. }
复制代码
我们来演示一下功能实现过程

请点击此处下载

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

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

文件名称:64.上位机VC MFC列表控件自动添加与调节水平滚动条.rar 
文件大小:122.44 KB  售价:10金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

  

您的支持是我们创作的动力!  

  

您可花点闲钱积分自助任意充值

  

成为VIP会员 全站资源任意下载永久更新!


回复

使用道具 举报

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