请问MFC中CListBox控件怎么实现自动换行

如题所述

CListBox列表框控件是无法通过设置实现自动换行的,没有这个属性。
要重载实现换行也很困难,因为太多的DrawItem数据和行高数据需要自己计算。
如果不是必须这样做,建议回避这种方案,可以考虑使用只读编辑框、静态框或者GridControl实现。追问

GridContorl是基本控件么?我用的是vs2010编译器

我要实现的功能是这样的。在某个控件中一条一条的存法律条文(如果条文过长需要换为两行但是在控件中还是一项,点击可以选中这两行),然后点击控件的项将每项中的案例添加到其他控件中。但不知道这某个控件该使用什么

追答

根据你的描述,如果条目没有实际点击意义,那么用编辑框就可以了;
如果单条需要点击,那么应该考虑在列表上实现CToolTipCtrl提示框来显示完整条文比较合适(列表框只显示截断或者缩略的),或者点击列表后,通过一个静态框显示全文也可以,这样最简单;
使用表格控件就没有必要了,这个不是基础控件,但是VS自带控件,使用比较麻烦。

追问

我想用CGridControl这个控件,能告诉我一下这个控件怎么用么

追答

这是个大话题。给你一篇文章参考一下吧,不是几句话能说清楚的:

http://wenku.baidu.com/view/24ded8a7284ac850ad024225.html

温馨提示:内容为网友见解,仅供参考
无其他回答

请问MFC中CListBox控件怎么实现自动换行
CListBox列表框控件是无法通过设置实现自动换行的,没有这个属性。要重载实现换行也很困难,因为太多的DrawItem数据和行高数据需要自己计算。如果不是必须这样做,建议回避这种方案,可以考虑使用只读编辑框、静态框或者GridControl实现。

CEdit 控件,怎么实现自动换行
不换行,换个控件吧,用CListBox,使用方法很简单。 AddString就行。 你截个图,我看看你的上拉下拉和水平滚动。CEdit有这属性?

MFC编程,listbox控件怎么读取指定行的内容? 我用GetLBText(),报错Ge...
直接用GetText(nSel,str)就行了,nSel是你要读取的位置,读取的值会赋给str

VC6.0 MFC 列表框Clistbox中的内容不能随程序一条条显示出来,而是等到...
线程。从你的程序看,这是最合理的解决办法。将run做成工作者线程,通过消息机制(而不是循环)完整整体逻辑。定时器。对于较小代价的循环,可以使用,如果你用迭代计时,这个方法不适用。强制消息空闲(不推荐)。通过在循环语句中,强制增加Idle时间的方法产生额外的空闲时间,让消息环可以完成界面刷新。...

如何在MFC单文档中动态向ListBox控件插入文本
你首先需要在CMainFrame的OnListen中,获取View类指针,然后通过View指针操作列表。注意在mainframe.cpp头部,其它包含下方加上view类头文件包含#include 通过下面类似代码获取view指针 通过view指针,获取view类成员变量m_listbox 对view类进行数据更新(如果是formview或者listview,用UpdateData函数)CMyView *p...

MFC怎么让主窗口随View类改变大小
现在,要实现的功能如下:使控件CLISTBOX类对象窗口(IDC_QQLISTBOX)以及两个CBUTTON类对象(IDC_MAIL)、(IDC_WEB)随着主窗体的变化而自动变化。具体操作步骤:1、在主对话框类class CQQDlg : public CDialog中添加对象CRect m_rect,用来记录当前对话框的大小。并在初始化函数OnInitialDialog()中...

MFC CCheckListBox类 疑问
控件只有CListBox,将其中两个属性修改。1 owerdraw -> true 2 has strings -> true为其添加CCheckListBox 变量,就可以了。

vc中listbox控件为什么不能横滚动 vc\/mfc \/ 基础类
2010-03-15 MFC控件ListBox如何自动滚动,显示最后一行? 51 2013-11-20 vc++ mfc 点击删除按钮后,listbox里的内容全部... 8 2011-04-11 vc++中怎样向listbox中添加数据,并在一行显示 11 2009-05-07 mfc的listbox中怎么删除内容? 4 2009-07-22 ListBox 得到行数和内容 vc++问题 6 2008-08-16...

请问 在mfc的 listbox中 如何双击鼠标 得到选中哪一行的值?_百度知 ...
添加一个listbox关联的CListBox控件变量,比如m_listbox。添加一个对listbox的ON_LBN_DBLCLK消息响应函数,其中添加如下代码:int i = m_listbox.GetCurSel();if (i >= 0){ CString text;m_listbox.GetText(i, text); \/\/ 写错了,不要& AfxMessageBox(text);} else { AfxMessageBox("未选中。

MFC,CListBox里,如何读取选中的内容
我记得没错的话里头的数据是CString类型的 程序里头做个类型转换 在用messagebox输出就可以了 类型转换的函数好像是CString.Format()你可以查下MSDN

相似回答