列表组合框控件

介绍 这个控件增强了 经典的CComboBox控件,并在它的下拉列表中添加了一个CListCtrl,它的所有优点是:下拉列表可以有多栏、复选框、顺序等。 背景 这个控件与这个相关:CTreeComboBox,区别只在于被封装在下拉列表中的控件。 使用的代码 为了使用,这个控件必须有3个类: CListComboBox,派生自ccombobox CComboListCtrl,派生自clistctrl cyourcombolistctrl,派生自CComboListCtrl 描述 CYourComboListCtrl只是您想要使用的CListCtrl的自定义,但它必须派生自CComboListCtrl,以具有应用的功能。 如果你想要这个混合控件,你只需要包含6个文件,listcombobox。h和cpp, combolistctrl。h和cpp,还有CComboListCtrl的扩展,比如mycombolistctrl。h和cpp。 一旦你在你的项目中有了这些文件,你可以轻松地使用这个控件,就像这样: 在窗体上放置一个CComboBox控件,但它必须是CListComboBox的类型,而不只是CComoboBox。 隐藏,复制Code

//
// In your view header

#include "ListComboBox.h"
#include "MyComboListCtrl.h"

// and

 CListComboBox m_Combo2;
 CMyComboListCtrl* m_pListCtrl2;

// in your cpp file

CTestListComboView::CTestListComboView()
 : CFormView(CTestListComboView::IDD)
 ,m_pListCtrl2(NULL)
{
 m_pListCtrl2 = new CMyComboListCtrl;
 m_Combo2.SetListCtrl(m_pListCtrl2);
}

在那之后,你只是处理你的m_pListCtrl2为你想(配置,填充数据,等等)。 您可以在附加的示例项目中找到更多细节。 增强的combobox有几个方法,帮助使用这种混合控制: DisplayList()—使用这个函数代替本地的ShowDopDown()来显示下拉菜单SetEditText(SetEditText(LPCTSTR lpszString)—为编辑combobox setedititemdata /GetEditItemData设置一个文本—为选定的项目设置一个itemdata,可见从CListComboBox对象setlistctrl (CComboListCtrl * pListCtrl)——设置CComboListCtrl对象作为下拉列表iscontrolactive()——检索的状态下拉列表getdroppedwidth () / GetDroppedHeight(),返回下拉列表的宽度和高度setdroppedwidth () / SetDroppedHeight()——设置下拉列表的宽度和高度setedittooltip () / GetEditTooltip()——设置/获取编辑组合框的提示,可以编辑文本不同getshowtooltip () / SetShowTooltip()——激活/禁用工具提示编辑组合框getshowedittooltipoveritem () / SetShowEditTooltipOverItem()——设置/获取工具提示的位置编辑组合框,显示在编辑区域,以上 当然,在这个CComboBox上还有另一个可用的方法,当您需要一个增强的combobox时,这个控件是一个很好的选择。 希望对你有帮助!注: 在我力所能及的范围内,我将返回关于使用这个控件的新细节。 历史 2016-09-23——文章发表 本文转载于:http://www.diyabc.com/frontweb/news371.html

原文地址:https://www.cnblogs.com/Dincat/p/13443906.html