精华内容
下载资源
问答
  • 今天小编就为大家分享一篇关于易语言设置组合框内容自动排序的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
  • 在本篇内容里小编给大家整理了关于易语言设置组合框高度方法的相关知识点内容,有兴趣的朋友参考下。
  • 今天小编就为大家分享一篇关于易语言设置组合框各选项之间距离的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
  • 今天小编就为大家分享一篇关于易语言设置组合框项目数值的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
  • 今天小编就为大家分享一篇关于易语言修改组合框项目文本的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
  • MFC组合框控件总结及用法示例

    万次阅读 2014-04-26 23:01:50
    Combo Box (组合框)控件很简单,可以节省空间。从用户角度来看,这个控件是由一个文本输入控件和一个下拉菜单组成的。用户可以从一个预先定义的列表里选择一个选项,同时也可以直接在文本框里面输入文本。编程时...

    Combo Box (组合框)控件很简单,可以节省空间。从用户角度来看,这个控件是由一个文本输入控件和一个下拉菜单组成的。用户可以从一个预先定义的列表里选择一个选项,同时也可以直接在文本框里面输入文本。编程时用到了组合框,这个控件用得不是很多,现将组合框控件的属性和方法做一个小结,供后续参考。

    组合框控件既可以进行输入,也可以在列表框组成部分中进行选择。打开组合框控件的属性窗口,下图所示:


    组合框控件属性对话框示意图

    (一)设置控件风格

    如图1所示,通过Styles(外观)选项卡中的Type属性可以设置组合框控件风格。组合框分为3种风格,即:

    1. Simple:包含一个编辑框和一个总是显示的列表框

    2. DropDown:在单击下拉箭头后才弹出列表框,这种风格的组合框的编辑框可编辑

    3. DropList:在单击下拉箭头后才弹出列表框,这种风格的组合框的编辑框是只读的 

     

    (二)调整列表部分的显示大小

    在使用组合框控件时,如果不经过调整,控件的列表框非常小,只能显示一项,操作不方便。需要调整显示的大小。

    长度调整:选中控件,拖拽右边框至合适的长度即可;

    高度调整:单击 下拉箭头 拖拽下边框只合适的高度即可。 

     

     (添加数据

    网上介绍可以直接通过属性窗口中的Data选项卡,向列表框中添加数据,编程工具是VC6.0,我没有验证过。我在VS2010上好像不能通过属性窗口为控件赋初值(只是自己没有实现)。现通过代码实现来为控件赋初值。

    通过下面的例子简要说明如何利用 MFC CComboBox Class来操作字符串列表。
    1、定义控件对应变量
    添加控件对应变量,如:CComboBox  m_cbExamble;

    2、向控件添加 Items
    1) Combo Box控件属性的Data标签里面添加,一行表示Combo Box下拉列表中的一行。换行用ctrl+回车。(这种方法我在VS2010没有实现)
    2) 利用函数 AddString() 向 Combo Box 控件添加 Items,如:
    //向组合框中添加Items

    m_cbExamble.AddString(_T("StringData1"));

    m_cbExamble.AddString(_T("StringData2"));

    m_cbExamble.AddString(_T("StringData3"));
    3) 也可以调用函数 InsertString() 将 Item 插入指定位置 nIndex,如:
    //将 Item 插入指定位置 nIndex

    m_cbExamble.InsertString( /*nIndex*/1, _T("StringData222222222")); 

    3、从控件得到选定的Item
    假设在控件列表中已经选定某项,现在要得到被选定项的内容,首先要得到该项的位置,然后得到对应位置的内容。这里会用到两个函数,如:处理组合框的CBN_SELCHANGE消息,当在组合框的列表框部分选择一项时,弹出消息框显示列表项的数据。为组合框控件条件消息响应事件,CBN_SELCHANGE消息,下图所示:


    图2 组合框控件条件消息响应事件

    代码如下:

    void CComboxTestDlg::OnCbnSelchangeCombo1()
    {
    //获得当前选择的列表项索引
    int nIndex = m_cbExamble.GetCurSel();
    CString strCBText;
    //根据指定的索引获得该项的数据
    m_cbExamble.GetLBText( nIndex, strCBText);
    MessageBox(strCBText);
    }

    这样,得到的内容就保存在 strCBText 中。

    注意:因为组合框是由一个编辑框和一个列表框组合而成,所以也可以使用(strCBText)方法直接获得组合框中当前显示的数据。 

    4、在控件中查找给定Item
    这种操作一般用于在程序中动态修改控件中该项的值,可以用函数FindStringExact() 精确匹配,如:
    int nIndex = m_cbExamble.FindStringExact( nStartAfter, “value to be found”);
    nStartAfter指明从哪一行开始查找。如果查找成功,返回的是该项的位置;否则,返回CB_ERR 

    //向组合框中添加Items
    m_cbExamble.AddString(_T("StringData1"));
    m_cbExamble.AddString(_T("StringData2"));
    m_cbExamble.AddString(_T("StringData3"));
    //将 Item 插入指定位置 nIndex
    m_cbExamble.InsertString( /*nIndex*/1, _T("StringData222222222"));
    //查找列表项数据为StringData1的项
    int nIndex = m_cbExamble.FindStringExact( /*nStartAfter*/0,_T("StringData2"));
    //nIndex 返回值为2

    也可以选中包含指定字符串的项,如:
    int nIndex = m_cbExamble.SelectString( nStartAfter, “value to be selected”);

    代码如下:

    void CComboxTestDlg::OnCbnSelchangeCombo1()
    {
    //获得当前选择的列表项索引
    int nIndex = m_cbExamble.GetCurSel();
    CString strCBText;
    //根据指定的索引获得该项的数据
    m_cbExamble.GetLBText( nIndex, strCBText);
    //查找列表项数据为StringData1的项
    int nIndex2 = m_cbExamble.FindStringExact( /*nStartAfter*/0,strCBText);
    CString str;
    str.Format(_T("%d"),nIndex2);
    //输出选中项的索引
    MessageBox(str);
    } 

    结果如下图所示


    图3 查找列表项中某项对应的索引

    5、删除控件中的Item
    该操作可以利用函数DeleteString(),需要指定被删除项的位置,如:
    m_cbExamble.DeleteString(nIndex);
    也可以使用函数ResetContent(),清除目前的所有项,如:
    m_cbExamble.ResetContent();

    这个比较简单,不必作示例介绍。


    6、显示控件中的某项
    int nIndex = m_cbExamble.GetCurSel(); //当前选中的项
    m_cbExamble.SetCurSel(nIndex); //设置第nIndex项为显示的内容


    7、得到或设置输入框中被选中的字符位置
    DWORD GetEditSel( ) /BOOL SetEditSel( int nStartChar, int nEndChar );
    BOOL LimitText( int nMaxChars ); 设置输入框中可输入的最大字符数。


    8、列表框常用消息映射宏
    ON_CBN_DBLCLK 鼠标双击
    ON_CBN_DROPDOWN 列表框被弹出
    ON_CBN_KILLFOCUS / ON_CBN_SETFOCUS 在输入框失去/得到输入焦点时产生
    ON_CBN_SELCHANGE 列表框中选择的行发生改变
    ON_CBN_EDITUPDATE 输入框中内容被更新 

    补充:

    一、如何添加/删除Combo Box内容
    1、在 Combo Box 控件属性的 Data 标签里面添加,一行表示 Combo Box 下拉列表中的一行。换行用 ctrl+ 回车。


    2、在程序初始化时动态添加
    如: //控件内容初始化
    CString strTemp;

    //消除现有所有内容 清空组合框数据

    ((CComboBox*)GetDlgItem(IDC_COMBO_CF))->ResetContent();

    for(int i=1;i<=100;i++)

    {

    strTemp.Format(_T("%d"),i);

    ((CComboBox*)GetDlgItem(IDC_COMBO_CF))->AddString(strTemp);

    }

     

    3、下拉的时候添加
    如: 

    CString strTemp;

    //取得目前已经有的行数
    int iCount=((CComboBox*)GetDlgItem(IDC_COMBO_CF))->GetCount();

    if(iCount<1)//防止重复多次添加
    {
    ((CComboBox*)GetDlgItem(IDC_COMBO_CF))->ResetContent();
    for(int i=1;i<=100;i++)
    {
    strTemp.Format("%d",i);
    ((CComboBox*)GetDlgItem(IDC_COMBO_CF))->AddString(strTemp);
    }
    }


    4、删除
    DeleteString( UINT nIndex )//删除指定行.


    5、插入
    InsertString( int nIndex, LPCTSTR lpszItem )//将行插入到指定位置


    6、查找

    //可以在当前所有行中查找指定的字符传的位置

    //nStartAfter指明从那一行开始进行查找
    FindString( int nStartAfter, LPCTSTR lpszItem )

    //可以选中包含指定字符串的行

    int SelectString( int nStartAfter, LPCTSTR lpszItem )


    7选择其中的某行
    7.1选中

    //当前选中的行
    int iPos=((CComboBox*)GetDlgItem(IDC_COMBO_CF))->GetCurSel();

    7.2设置

    //设置第n行内容为显示的内容
    ((CComboBox*)GetDlgItem(IDC_COMBO_CF))->SetCurSel(n)
    取得Combo Box框内容
    1取当前内容
    ((CComboBox*)GetDlgItem(IDC_COMBO_CF))->GetWindowText(strTemp);
    2取其他行内容
    ((CComboBox*)GetDlgItem(IDC_COMBO_CF))->GetLBText(n,strTemp);


    8获得焦点
    通常要判断控件是否获得了焦点,可以用GetFocus()函数
    例如:if(GetFocus()==GetDlgItem(IDC_EDIT_VALUE2))//判断焦点是否在编辑框IDC_EDIT_VALUE2内。
    但是combobox 的焦点不同,因为它是由editlistbox两部分组成的
    所以获得焦点要用GetParent()if ((GetFocus()->GetParent())==GetDlgItem(IDC_COMBO_CF))


    9控制Combo Box的下拉长度
    9.1.点击一下Combo Box的下拉箭头,此时出现的调整框就是Combo Box的下拉调整框。
    9.2.属性里有个 No integral height 钩选项,表示最大长度为设计长度,如果实际内容比设计长度多,就出现滚动条,少就以实际长度显示。

    二、VC++ Combo Box/Combo Box Ex控件

      组合窗口是由一个输入框和一个列表框组成。创建一个组合窗口可以使用成员函数:

    BOOL CListBox::Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff );
    其中dwStyle将指明该窗口的风格,除了子窗口常用的风格WS_CHILD,WS_VISIBLE外,你可以针对列表控件指明专门的风格。
    CBS_DROPDOWN  下拉式组合框
    CBS_DROPDOWNLIST  下拉式组合框,但是输入框内不能进行输入
    CBS_SIMPLE  输入框和列表框同时被显示
    LBS_SORT  所有的行按照字母顺序进行排序


    由于组合框内包含了列表框,所以列表框的功能都能够使用,如可以利用:
    int AddString( LPCTSTR lpszItem );添加行


    int DeleteString( UINT nIndex );删除指定行


    int InsertString( int nIndex, LPCTSTR lpszItem );将行插入到指定位置


    void ResetContent( );可以删除列表框中所有行


    int GetCount( );得到当前列表框中行的数量


    int GetCurSel( )/int SetCurSel(int iIndex);得到/设置当前被选中的行的位置

     

    int GetLBText( int nIndex, LPTSTR lpszText );得到列表框内指定行的字符串


    int FindString( int nStartAfter, LPCTSTR lpszItem );在当前所有行中查找指定的字符传的位置,nStartAfter指明从那一行开始进行查找


    int SelectString( int nStartAfter, LPCTSTR lpszItem );可以选中包含指定字符串的行


    此外输入框的功能都能够使用,如可以利用:
    DWORD GetEditSel( ) /BOOL SetEditSel( int nStartChar, int nEndChar )得到或设置输入框中被选中的字符位置


    BOOL LimitText( int nMaxChars )设置输入框中可输入的最大字符数。
    输入框的剪贴板功能Copy,Clear,Cut,Paste动可以使用。


    最后介绍一下列表框几种常用的消息映射宏:
    ON_CBN_DBLCLK  鼠标双击
    ON_CBN_DROPDOWN  列表框被弹出
    ON_CBN_KILLFOCUS / ON_CBN_SETFOCUS 在输入框失去/得到输入焦点时产生
    ON_CBN_SELCHANGE  列表框中选择的行发生改变
    ON_CBN_EDITUPDATE  输入框中内容被更新


    使用以上几种消息映射的方法为定义原型如:afx_msg void memberFxn( );的函数,并且定义形式如ON_Notification( id, memberFxn )的消息映射。如果在对话框中使用组合框,Class Wizard会自动列出相关的消息,并能自动产生消息映射代码。

     

    MFC 4.2中对组合框进行了增强,你可以在组合框中使用ImageList,有一个新的类CComboBoxEx(由CComboBox派生)来实现这一功能。

    CComboBoxEx类中添加了一些新的成员函数来实现新的功能:首先你需要调用CImageList* SetImageList( CImageList* pImageList );来设置ImageList,然后调用
    int InsertItem( const COMBOBOXEXITEM* pCBItem );

    来添加行,

    其中COMBOBOXEXITEM定义如下:
    typedef struct { 

    UINT mask; 

    int iItem; 

    LPTSTR pszText; 

    int cchTextMax; 

    int iImage; 

    int iSelectedImage; 

    int iOverlay; 

    int iIndent; 

    LPARAM lParam;

    } COMBOBOXEXITEM, *PCOMBOBOXEXITEM;

    你需要设置mask=CBEIF_IMAGECBEIF_TEXT,并设置iItem为插入位置,设置pszText为显示字符串,设置iImage为显示的图标索引。下面的代码演示了如何进行插入:
     
    m_list.Create(IDB_IMG,16,4,RGB(0,0,0));

    m_cbeWnd.SetImageList(&m_list);

    COMBOBOXEXITEM insItem;

    insItem.mask=CBEIF_IMAGECBEIF_TEXT;insItem.iItem=0; 

    insItem.iImage=0;insItem.pszText=_T("Line 1");

    m_cbeWnd.InsertItem(&insItem);

    insItem.iItem=1;insItem.iImage=1;

    insItem.pszText=_T("Line 2");

    m_cbeWnd.InsertItem(&insItem);

    通过调用int DeleteItem( int iIndex );来删除行,并指明行的位置。
    通过调用BOOL GetItem( COMBOBOXEXITEM* pCBItem )/BOOL SetItem( const COMBOBOXEXITEM* pCBItem );来得到/设置行数据。 

     

    三、提高篇(控件应用方案)
    1.功能
    组合框( ComboBox )是文本框( TextBox )和列表框( ListBox )的组合。用户可以从文本框中输入文本,也可以从列表框中选取列表项。
    2 .属性
    ComboBox 控件的常用属性如表 1 所示。
    1 ComboBox 控件的常用属性
    编号  属性  说明
    1  IntegralHeight  返回或设置一个值,指示控件是否显示部分项目。运行时是只读的
    2  List  返回或设置控件列表部分的项目
    3  ListCount  返回控件的列表部分项目的个数
    4  ListIndex  返回或设置控件中当前选择项目的索引,在设计时不可用
    5  Locked  返回或设置一个值,以指定控件是否可被编辑
    6  Sorted  返回一个值,指定控件的元素是否自动按字母表顺序排序
    7  Style  返回或设置一个值,该值用来指示控件的显示类型和行为
    8  TabIndex  返回或设置父窗体中大部分对象的〈 Tab 〉键次序
    9  Text ComboBox 控件( Style 属性设置为 0 (下拉组合框)或为 1 (简单组合框))返回或设置编辑域中的文本 



    展开全文
  • 组态王下拉式组合框使用样例,可以直接使用,包含说明
  • 今天小编就为大家分享一篇关于易语言设置编辑滚动条与滚动条方式的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
  • 易语言组合框基本属性方法事件

    千次阅读 2020-07-08 09:09:11
    本节视频教程录制了易语言组合框的取项目数、取项目数值、取项目文本、置项目文本、加入项目、插入项目、删除项目等属性。 组合框基本属性方法事件截图 视频链接: 76 属性: 左边 顶边 ...

    本节视频教程录制了易语言组合框的取项目数、取项目数值、取项目文本、置项目文本、加入项目、插入项目、删除项目等属性。

    组合框基本属性方法事件截图

    视频链接:

    76

    属性:

    左边

    顶边

    宽度

    高度

    标记

    可视

    禁止

    鼠标指针

    类型

    内容

    最大文本长度

    起始选择位置

    被选择字符数

    被选择文本

    自动排序

    行间距

    文本颜色

    背景颜色

    字体

    现行选中项

    列表项目

    项目数值

    数据源

    数据列

     

    方法:

    取顶端可见项目

    置顶端可见项目

    取项目数

    取项目数值

    置项目数值

    取项目文本

    置项目文本

    加入项目

    插入项目

    删除项目

    清空

    选择

     

    取顶端可见项目

    置顶端可见项目

    取项目数

    取项目数值

    置项目数值

     

    取项目文本

    置项目文本

     

    加入项目

    插入项目

    删除项目

     

    清空

    选择

    自有事件:

    列表项被选择

    编辑内容被改变

    将弹出列表

    列表被关闭

    双击选择

       

     

    列表项被选择

    编辑内容被改变

    将弹出列表

    列表被关闭

    双击选择        

    基本事件:

    鼠标左键被按下

    鼠标左键被放开

    被双击

    鼠标右键被按下

    鼠标右键被放开

    鼠标位置被移动

    获得焦点

    失去焦点

    按下某键

    放开某键

    字符输入

    滚轮被滚动

    组合框基本属性方法事件源码:

    .版本 2
    .支持库 spec
    
    .程序集 窗口程序集_启动窗口
    
    .子程序 _按钮1_被单击
    .局部变量 项目数量
    
    项目数量 = 组合框1.取项目数 ()
    信息框 (“组合框项目数量为:” + 到文本 (项目数量), #信息图标, , )
    
    .子程序 _组合框1_列表项被选择
    
    调试输出 (组合框1.现行选中项)
    
    .子程序 __启动窗口_创建完毕
    
    组合框1.现行选中项 = 0
    
    .子程序 _按钮2_被单击
    
    调试输出 (组合框1.取项目数值 (组合框1.现行选中项))
    
    .子程序 _按钮3_被单击
    
    调试输出 (组合框1.取项目文本 (组合框1.现行选中项))
    
    .子程序 _按钮4_被单击
    
    组合框1.置项目文本 (组合框1.现行选中项, 编辑框1.内容)
    
    .子程序 _按钮5_被单击
    
    调试输出 (组合框1.加入项目 (编辑框1.内容, ))
    
    .子程序 _按钮6_被单击
    
    组合框1.插入项目 (到整数 (编辑框2.内容), 编辑框1.内容, )
    
    .子程序 _按钮7_被单击
    
    组合框1.删除项目 (到整数 (编辑框2.内容))
    
    .子程序 _按钮8_被单击
    
    组合框1.清空 ()
    
    .子程序 _按钮9_被单击
    
    调试输出 (组合框1.选择 (组合框1.取项目文本 (组合框1.现行选中项)))

    源码:511遇见易语言教程

               511遇见易语言教程视频链接

               易语言教程组合框基本属性方法事件

     

    展开全文
  • 易语言的组合框文字不能居中。特写一个与易友们共享一下
  • 超级列表框高级应用—表项弹出选择列表(组合框) - 易语言精华 -.. 易语言精华→ 正文 超级列表框高级应用—表项弹出选择列表(组合框) 添加时间:2007-11-10 原文发表:2007-11-10 人气:675 200632620214531755.e ...
  • MFC 组合框的用法大全

    千次阅读 2018-06-18 23:31:14
    Combo Box (组合框)控件很简单,可以节省空间。从用户角度来看,这个控件是由一个文本输入控件和一个下拉菜单组成的。用户可以从一个预先定义的列表里选择一个选项,同时也可以直接在文本框里面输入文本。下面的例子...

    Combo Box (组合框)控件很简单,可以节省空间。从用户角度来看,这个控件是由一个文本输入控件和一个下拉菜单组成的。用户可以从一个预先定义的列表里选择一个选项,同时也可以直接在文本框里面输入文本。下面的例子简要说明如何利用 MFC CComboBox Class来操作字符串列表。 
    1、定义控件对应变量

    假定已经创建了一个Dialog,并且从控件工具箱将 Combo Box 控件拖放到上面。打开 Class Wizard,添加控件对应变量,如:CComboBox m_cbExamble;

    在后面的代码中会不断使用这个变量。

    2、向控件添加 Items

    1) 在Combo Box控件属性的Data标签里面添加,一行表示Combo Box下拉列表中的一行。换行用ctrl+回车。

    2) 利用函数 AddString() 向 Combo Box 控件添加 Items,如:

    m_cbExample.AddString(“StringData1”);

    m_cbExample.AddString(“StringData2”);

    m_cbExample.AddString(“StringData3”);

    3) 也可以调用函数 InsertString() 将 Item 插入指定位置 nIndex,如:

    m_cbExample.InsertString( nIndex, “StringData” );

    3、从控件得到选定的Item

    假设在控件列表中已经选定某项,现在要得到被选定项的内容,首先要得到该项的位置,然后得到对应位置的内容。这里会用到两个函数,如:

    int nIndex = m_cbExample.GetCurSel();

    CString strCBText;

    m_cbExample.GetLBText( nIndex, strCBText);

    这样,得到的内容就保存在 strCBText 中。

    若要选取当前内容,可调用函数GetWindowText(strCBText)。

    4、在控件中查找给定Item

    这种操作一般用于在程序中动态修改控件中该项的值,可以用函数FindStringExact() 精确匹配,如:

    int nIndex = m_cbExample.FindStringExact( nStartAfter, “value to be found”);

    nStartAfter指明从哪一行开始查找。如果查找成功,返回的是该项的位置;否则,返回CB_ERR。

    也可以选中包含指定字符串的项,如:

    int nIndex = m_cbExample.SelectString( nStartAfter, “value to be selected”);

    5、删除控件中的Item

    该操作可以利用函数DeleteString(),需要指定被删除项的位置,如:

    m_cbExample.DeleteString(nIndex);

    也可以使用函数ResetContent(),清除目前的所有项,如:

    m_cbExample.ResetContent();

    6、显示控件中的某项

    int nIndex = m_cbExample.GetCurSel(); //当前选中的项

    m_cbExample.SetCurSel(nIndex); //设置第nIndex项为显示的内容

    7、得到或设置输入框中被选中的字符位置

    DWORD GetEditSel( ) /BOOL SetEditSel( int nStartChar, int nEndChar );

    BOOL LimitText( int nMaxChars ); 设置输入框中可输入的最大字符数。

    8、列表框常用消息映射宏

    ON_CBN_DBLCLK 鼠标双击

    ON_CBN_DROPDOWN 列表框被弹出

    ON_CBN_KILLFOCUS / ON_CBN_SETFOCUS 在输入框失去/得到输入焦点时产生

    ON_CBN_SELCHANGE 列表框中选择的行发生改变

    ON_CBN_EDITUPDATE 输入框中内容被更新


    补充:

    一、如何添加/删除Combo Box内容

    1,在Combo Box控件属性的Data标签里面添加,一行表示Combo Box下拉列表中的一行。换行用ctrl+回车。

    2,在程序初始化时动态添加

    如: //控件内容初始化

    CString strTemp;

    ((CComboBox*)GetDlgItem(IDC_COMBO_CF))->ResetContent();//消除现有所有内容

    for(int i=1;i<=100;i++)

    {

    strTemp.Format("%d",i);

    ((CComboBox*)GetDlgItem(IDC_COMBO_CF))->AddString(strTemp);

    }

    3,下拉的时候添加

    如: CString strTemp;

    int iCount=((CComboBox*)GetDlgItem(IDC_COMBO_CF))->GetCount();//取得目前已经有的行数

    if(iCount<1)//防止重复多次添加

    {

    ((CComboBox*)GetDlgItem(IDC_COMBO_CF))->ResetContent();

    for(int i=1;i<=100;i++)

    {

    strTemp.Format("%d",i);

    ((CComboBox*)GetDlgItem(IDC_COMBO_CF))->AddString(strTemp);

    }

    }

    4,删除

    DeleteString( UINT nIndex )//删除指定行,

    5,插入

    InsertString( int nIndex, LPCTSTR lpszItem )//将行插入到指定位置

    6,查找

    FindString( int nStartAfter, LPCTSTR lpszItem )//可以在当前所有行中查找指定的字符传的位置,nStartAfter指明从那一行开始进行查找。

    int SelectString( int nStartAfter, LPCTSTR lpszItem )//可以选中包含指定字符串的行

    二、如何控制Combo Box的下拉长度

    1,首先要知道两点:一、那就是在设计界面里,点击一下Combo Box的下拉箭头,此时出现的调整框就是Combo Box的下拉调整框。

    2,二、属性里有个 No integral height 钩选项,表示最大长度为设计长度,如果实际内容比设计长度多,就出现滚动条,少就以实际长度显示。

    三、选择其中的某行

    1,选中:

    int iPos=((CComboBox*)GetDlgItem(IDC_COMBO_CF))->GetCurSel();//当前选中的行。

    2,设置

    ((CComboBox*)GetDlgItem(IDC_COMBO_CF))->SetCurSel(n)//设置第n行内容为显示的内容。

    四、取得Combo Box框内容

    1取当前内容

    ((CComboBox*)GetDlgItem(IDC_COMBO_CF))->GetWindowText(strTemp);

    2取其他行内容

    ((CComboBox*)GetDlgItem(IDC_COMBO_CF))->GetLBText(n,strTemp);

    四、获得焦点

    通常要判断控件是否获得了焦点,可以用GetFocus()函数

    例如:if(GetFocus()==GetDlgItem(IDC_EDIT_VALUE2))//判断焦点是否在编辑框IDC_EDIT_VALUE2内。

    但是combobox 的焦点不同,因为它是由edit和listbox两部分组成的

    所以获得焦点要用GetParent():if ((GetFocus()->GetParent())==GetDlgItem(IDC_COMBO_CF))

    控制Combo Box的下拉长度

    1,首先要知道两点:一、那就是在设计界面里,点击一下Combo Box的下拉箭头,此时出现的调整框就是Combo Box的下拉调整框。

    二、属性里有个 No integral height 钩选项,表示最大长度为设计长度,如果实际内容比设计长度多,就出现滚动条,少就以实际长度显示。

    VC++ Combo Box/Combo Box Ex控件

      组合窗口是由一个输入框和一个列表框组成。创建一个组合窗口可以使用成员函数:

    BOOL CListBox::Create( LPCTSTR lpszText, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID = 0xffff );

    其中dwStyle将指明该窗口的风格,除了子窗口常用的风格WS_CHILD,WS_VISIBLE外,你可以针对列表控件指明专门的风格。

    CBS_DROPDOWN 下拉式组合框

    CBS_DROPDOWNLIST 下拉式组合框,但是输入框内不能进行输入

    CBS_SIMPLE 输入框和列表框同时被显示

    LBS_SORT 所有的行按照字母顺序进行排序

    由于组合框内包含了列表框,所以列表框的功能都能够使用,如可以利用:

    int AddString( LPCTSTR lpszItem )添加行,

    int DeleteString( UINT nIndex )删除指定行,

    int InsertString( int nIndex, LPCTSTR lpszItem )将行插入到指定位置。

    void ResetContent( )可以删除列表框中所有行。

    通过调用int GetCount( )得到当前列表框中行的数量。

    如果需要得到/设置当前被选中的行的位置,可以调用int GetCurSel( )/int SetCurSel(int iIndex)。通过调用int GetLBText( int nIndex, LPTSTR lpszText )得到列表框内指定行的字符串。

    此外通过调用int FindString( int nStartAfter, LPCTSTR lpszItem )可以在当前所有行中查找指定的字符传的位置,nStartAfter指明从那一行开始进行查找。

    int SelectString( int nStartAfter, LPCTSTR lpszItem )可以选中包含指定字符串的行。

    此外输入框的功能都能够使用,如可以利用:

    DWORD GetEditSel( ) /BOOL SetEditSel( int nStartChar, int nEndChar )得到或设置输入框中被选中的字符位置。

    BOOL LimitText( int nMaxChars )设置输入框中可输入的最大字符数。

    输入框的剪贴板功能Copy,Clear,Cut,Paste动可以使用。

    最后介绍一下列表框几种常用的消息映射宏:

    ON_CBN_DBLCLK 鼠标双击

    ON_CBN_DROPDOWN 列表框被弹出

    ON_CBN_KILLFOCUS / ON_CBN_SETFOCUS 在输入框失去/得到输入焦点时产生

    ON_CBN_SELCHANGE 列表框中选择的行发生改变

    ON_CBN_EDITUPDATE 输入框中内容被更新

    使用以上几种消息映射的方法为定义原型如:afx_msg void memberFxn( );的函数,并且定义形式如ON_Notification( id, memberFxn )的消息映射。如果在对话框中使用组合框,Class Wizard会自动列出相关的消息,并能自动产生消息映射代码。

    在MFC 4.2中对组合框进行了增强,你可以在组合框中使用ImageList,有一个新的类CComboBoxEx(由CComboBox派生)来实现这一功能。在CComboBoxEx类中添加了一些新的成员函数来实现新的功能:首先你需要调用CImageList* SetImageList( CImageList* pImageList );来设置ImageList,然后调用

    int InsertItem( const COMBOBOXEXITEM* pCBItem );来添加行,其中COMBOBOXEXITEM定义如下:

    typedef struct { UINT mask; int iItem; LPTSTR pszText; int cchTextMax; int iImage; int iSelectedImage; int iOverlay;       int iIndent; LPARAM lParam;} COMBOBOXEXITEM, *PCOMBOBOXEXITEM;

    你需要设置mask=CBEIF_IMAGE CBEIF_TEXT,并设置iItem为插入位置,设置pszText为显示字符串,设置iImage为显示的图标索引。下面的代码演示了如何进行插入:

    /*m_cbeWnd 为已经创建的CComboBox对象

    m_list 为CImageList对象IDB_IMG 为16*(16*4)的位图,每个图片为16*16共4个图标*/

    m_list.Create(IDB_IMG,16,4,RGB(0,0,0));

    m_cbeWnd.SetImageList(&m_list);

    COMBOBOXEXITEM insItem;insItem.mask=CBEIF_IMAGE CBEIF_TEXT;insItem.iItem=0; insItem.iImage=0;insItem.pszText="Line 1";m_cbeWnd.InsertItem(&insItem);insItem.iItem=1;insItem.iImage=1;insItem.pszText="Line 2";m_cbeWnd.InsertItem(&insItem);

    通过调用int DeleteItem( int iIndex );来删除行,并指明行的位置。

    通过调用BOOL GetItem( COMBOBOXEXITEM* pCBItem )/BOOL SetItem( const COMBOBOXEXITEM* pCBItem );来得到/设置行数据





    ******************************************************************************************************

    tonyswe(tong)回复于 2003-03-10 13:31:10 得分 0 这位朋友可能也是新手. 
    是不是加了,运行后看不到选项. 
    加上后.要先在combo box的属性里的styles->types下选simple,然后把combo box框拉大, 
    也就是你希望的下拉的范围大小. 再回到styles->types下选drop down 就行了.



    MFC ComBox ResetContent( )
    MFC, ComBox, ResetContent
    在 ComBox控件的EditExchange事件中,添加ResetContent( )函数清空列表后无法输入数据,如何解决这个问题
    void CTestDlg::OnEditchangeCombo1() 
    {
    ((CComboBox*)GetDlgItem(IDC_COMBO1))->ResetContent();
    //其他.....
    }  

     

    使ComBox默认有值:

    ((CComboBox*)GetDlgItem(IDC_COMBO1))->AddString("男");

    ((CComboBox*)GetDlgItem(IDC_COMBO1))->AddString("女");

    ((CComboBox*)GetDlgItem(IDC_COMBO1))->SetCurlSel(1);

    展开全文
  • 易语言超级列表框与组合框应用 11111111111111111111111111111111111111111111
  • 本课视频通过易语言调用API控制了易语言组合框的高度、展开列表、关闭列表、列表项目文字居中,向上弹出下拉框等等。 API控制组合框高度宽度居中下拉方向视频教程源码: .版本 2 .程序集 窗口程序集_启动...

    本课视频通过易语言调用API控制了易语言组合框的高度、展开列表、关闭列表、列表项目文字居中,向上弹出下拉框等等。

    API控制组合框高度宽度居中下拉方向视频教程源码:

    .版本 2
    
    .程序集 窗口程序集_启动窗口
    .程序集变量 hwnd
    .程序集变量 程_子程序, 子程序指针
    
    .子程序 __启动窗口_创建完毕
    
    置随机数种子 ()
    .计次循环首 (10, )
    组合框1.加入项目 (到文本 (取随机数 (111111111, 999999999)), )
    .计次循环尾 ()
    hwnd = 组合框1.取窗口句柄 ()
    
    .子程序 _按钮1_被单击
    
    组合框1.发送信息 (339, -1, 到整数 (编辑框1.内容))
    
    .子程序 _按钮2_被单击
    
    PostMessageA (hwnd, 339, -1, 到整数 (编辑框1.内容))
    
    .子程序 _按钮3_被单击
    
    PostMessageA (hwnd, 339, 0, 到整数 (编辑框1.内容) - 6)
    
    .子程序 _按钮4_被单击
    
    PostMessageA (hwnd, 352, 到整数 (编辑框1.内容), 0)
    
    .子程序 _按钮5_被单击
    
    SendMessageA (hwnd, 335, 1, 0)
    
    .子程序 _按钮6_被单击
    
    SendMessageA (hwnd, 335, 0, 0)
    
    .子程序 _按钮7_被单击
    .局部变量 hEdit
    .局部变量 style
    
    hEdit = FindWindowExA (hwnd, 0, “Edit”, 字符 (0))
    style = GetWindowLongA (hEdit, #GWL_STYLE)
    style = 位或 (style, #ES_CENTER)
    SetWindowLongA (hEdit, #GWL_STYLE, style)
    
    .子程序 _按钮8_被单击, , , 向上弹出下拉框
    
    程_子程序 = SetWindowLongAA (组合框1.取窗口句柄 (), -4, &窗口消息)
    SendMessageA (组合框1.取窗口句柄 (), 335, 1, 0)
    SetWindowLongAA (组合框1.取窗口句柄 (), -4, 程_子程序)
    
    .子程序 窗口消息, 整数型
    .参数 窗口句柄
    .参数 消息
    .参数 参数1
    .参数 参数2
    .局部变量 局_列表框, RECT
    .局部变量 局_组合框, RECT
    
    .如果真 (消息 = 308)
    GetWindowRect (参数2, 局_列表框)
    GetWindowRect (窗口句柄, 局_组合框)
    SetWindowPos (参数2, 0, 局_列表框.Left, 局_组合框.Top - (局_列表框.Bottom - 局_列表框.Top), 局_列表框.Right - 局_列表框.Left, 局_列表框.Bottom - 局_列表框.Top, 0)
    
    .如果真结束
    
    返回 (CallWindowProcA (程_子程序, 窗口句柄, 消息, 参数1, 参数2))

    源码:511遇见易语言教程

               511遇见易语言教程视频链接

               API控制组合框高度宽度居中下拉方向

    展开全文
  • QT实现可编辑组合框

    2019-11-04 22:01:16
    1.应用场景描述:在使用QComboBox对列表中的内容进行选择的同时能够修改item项(一般来说不应该出现这样的需求,既然使用QComboBox,那么就应该是对已设定好内容进行选择,实际应用中最好再重新设计功能模块)。...
  • 列表框和组合框 列表框是CListBox类的对象,组合框是CComboBox的对象。 列表框 属性设置 列表框的重要属性有: Selection 该属性决定用户的选择方式,缺省值为 Single 。属性值有: ①:Single ── 单项...
  • MFC 组合框(下拉框) CComboBox

    千次阅读 2018-11-03 20:28:07
    设置内容,不同内容间用英文的分号“;”分隔 type 显示风格 Sort True 内容自动排序 常用接口: 接口 功能 CComboB...
  • 微信公众号原文 系统:Windows 7 软件:Excel 2010 / Access 2010 这个系列介绍常用的控件...手动设置组合框下拉列表:广东,湖南 省组合框变化时,市组合框下拉列表随之变化 这里省组合框有3个事件,都引起市组...
  • 创建组合框控件及成员函数介绍4.1 组合框的创建4.2 CComboBox类的主要成员函数05.应用实例06.总结 02.控件介绍 组合框控件是我们工作中用得很频繁的一个控件,其实就是把一个编辑框和列表框组合在一起。 适用范围:...
  • Combo Box (组合框)控件的使用方法

    千次阅读 2019-09-29 17:06:43
    Combo Box (组合框)控件很简单,可以节省空间。从用户角度来看,这个控件是由一个文本输入控件和一个下拉菜单组成的。用户可以从一个预先定义的列表里选择一个选项,同时也可以直接在文本框里面输入文本。下面的例子...
  • Java列表和组合框

    千次阅读 2018-08-15 13:43:02
    列表和组合框是又一类供用户选择的界面组件,用于在一组选择项目选择,组合框还可以输入新的选择。 列表 列表(JList)在界面中表现为列表框,是JList类或它的子类的对象。程序可以在列表框中加入多个文本选择项条目...
  • mfc:工具栏中添加组合框

    千次阅读 2017-02-24 21:11:21
    1,工具栏添加一个按钮,...3,初始化组合框在int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)函数中 加入一下代码,原理:在新加的按钮的位置插入了组合框 // Create the zoom combo box in the toolbar.
  • VS2015 MFC组合框控件

    千次阅读 2017-08-09 10:09:57
    MFC中的组合框控件用CComboBox类来表示。该控件可以看作是列表控件和编辑框控件的组合。一般情况下,在列表框中选择了某项之后,该项的内容会在文本框中显示出来。
  • 简介: 使用 (可通过单击箭头以显示或隐藏控件的表示选择... 获取或设置控件的名称。 Text 获取或设置与此控件显示的文本。在此控件中一般不适用。 Items 获取一个对象,该对象表示该 ...
  • 那么这次就让我们来模仿它做个十分常用的控件:"颜色组合框"。如果你现在正在做关于字处理类的软件时这个"东东"一定对你有用。程序编译运行后的界面效果如图一所示: 图一、颜色选择组合框 ...
  • 源码可以让超级列表文本颜色和背景颜色自行搭配。
  • 窗体上建立一个简单组合框,在组合框的文本框输入数字字符,按回车键后加入到组合框的列表框内,如图E.8所示;单击“交换”按钮,将列表框中最小值项目和第0个项目交换;最大值与最后项目交换,如图所示: 提示...
  • 表单域包括文本框、复选框、列表框、组合框、按钮和签名域等,主要用于收集用户填写或选择的数据。这篇文章将介绍如何在Java应用程序中给PDF文档添加表单域。 导入jar文件 本文所使用的PDF类库是Free Spire.PDF ...
  • 组合框控件用法大全

    千次阅读 2014-08-04 00:47:02
    当你在界面上拖出来了combox... ... 如果你的内容比较多,那么你刚刚拖得那个框框当你编译完运行后会自动产生一个滚动条的。 到此,combox的下拉框大小就设置好了。 参考知识点如下: 一、那就是在设计界面里,
  • Python之tkinter 组合框 Combobox

    千次阅读 多人点赞 2020-03-25 10:50:12
    文章目录组合框 Combobox 简介建立 Combobox设置默认选项 current()获得目前选项 get()绑定 Combobox 组合框 Combobox 简介 Combobox 可以翻译为组合框,这是tkinter.ttk 的 Widget控件,它的特性与OptionMenu类似,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 204,720
精华内容 81,888
关键字:

如何设置组合框的内容