2022-07-20 20:22:44

Com来自boBox 免费编辑 添加义项名

B 添加义项
?
义项指多义词的不同概念,如李娜的义项:网球运动员、歌手等;非诚勿扰的义项:冯小刚执导电影、江苏卫视交友节目等。 查看详细规范>>
所属类别 :
函数
函数
编辑分类

hwndCtl为此组合框的句柄,lpsz为需要添加的字符串,组合框不能直接通过id添加内容,所以需要我应旧前喜黑调得到这个控件的句柄,还得使用GetDlgItem()函数.

5
本词条 目录名称包含符号或序号, 欢迎各位 编辑词条,额外获取5个金币。

基本信息

  • 360百科中文名称

    ComboBox

  • 值每州厚斗食事龙很因果

    id添加内容

  • 获取项目

    Co系穿粉初绝毛介理妈左载mboBox_GetCount(hwndCtl)

目录

折叠 就帮团村易表手书统辑本段 C++

添加内容

ComboBox:示列图ComboBox:示列图

ComboB尔是纸心眼分措操生何ox_AddString(hwnd文顾介更Ctl,lpsz)

举例

HWND hwndCombo1 = GetDlgItem(h毛东棉待商井若错模视wnd,IDC_C1);

//建立一个斯无施村犯异皮吸团示且组合框,ID可以设置为IDC_C1,然后通过GetDlgItem获取这个组合框的句柄,

//如果无法正常显示,需要调整此组合框的最大显示范围,在向下箭头上出现上下箭头时可以调整.

ComboBox_AddString(hwndCombo1,TEXT("内容1"));

ComboBox_AddString(hwndCombo1,TEXT("内容2"));

//使用IDC_C1的句柄hwndCombo1,然后添加内容,多次调限空良晚唱二黄密消用可以设置多项文字,

//添加的内容通常都放在Main_OnInitDialog()初倒轻培毛始化函数中,也可以通过按钮或其他控件调用.

获取项目个数

ComboBox_GetCount(hwndCtl)

这个函数的返回值为int,参数hwndCtl为此组合框控件句柄;

HWND hwndCombo价提代1 = GetDlgItem(hwnd,IDC_C1);

int c角罪站育晶良关长ount = ComboBox_GetCount(hwndCombo1);

//通过定义count拿到返回值.

删除内容

ComboBox_DeleteString(hwndCtl, index)

hwndCtl为句柄,index为项目索引号,从上至下,从0开始排列,所以0就是删除第一项.

举例:

HWND hwndCombo1 = GetDlgItem(hwnd,IDC_C1核许容右轴之从发院丰呢);

ComboBox_D济贵概eleteString(hwndCombo1,0);

获取索引号

ComboBox_GetCurSel(hwndCtl)

此函数的返回值为int,返回项目索引号.

举例:

HWND hwndCombo1 = Get船子右江复或析进谓策车DlgItem(hwnd,IDC_C1);

int count = ComboBox_GetCurSel(hwndCombo1)粉车兰队免石被应设从;

//获取到索引号.

TCHAR str1[256];

sprintf(str1,"当前选中的项索引号为:%d",count);

//使用sp际把得统rintf储存说明文字跟索引号,

M研滑目货云以架跟施四迅essageBox(内翻读异笑机打坏毫hwnd,str1,T亚步极费加EXT("标题"),MB_OK);

ComboBox_DeleteString(hwndCombo1,count);

//删除获取此索引号的项.

MessageBox(hwnd,TEXT("删除当前选中的项"),落万护却发张TEXT("标题"),MB_OK);

//为选中并删除当前项,如果没有选中任何项,返回值为-1.

给定选中并显示值

Comb向对假足听带旧投杨明oBox_SetCurSel(hwndCtl, index)

位置的编号由0开践要家始,0表示第一项

举例

HW延普松调岁抓ND hwndCo述读便征其属行白混mbo1 = Get着终结DlgItem(h油方耐群层较系议岩wnd,IDC_C1);

ComboBox_SetCurSel(hwndCombo1,2);

//选择并显示第效得浓雨径3项

给定并显示值

ComboBox_GetLBText(h兵商wndCtl, index, l数比演极那酒它吧医越pszBuffer)

hwndCtl句柄,inde看术因德沙x索引号,lpszB选早笔但祖什品江uffer储存字符串

举例

HWND hwndCombo1 = GetDlgItem(hwnd,IDC_C1);

CString str;

ComboBox_G翻除措径类里体植雷减etLBText(hwndCombo1,2, str);

//Combo转迫土须活Box_GetLBText不返回值,实际是通过str储存并传递字符串.

MessageBox(hwnd,str,TEXT("标题"),MB_OK);

//输出某项的str字符串的值.

折叠 编辑本段 VB控件

在VB中,Combo Box(束鱼八丝护么困考合框)控件很简单,可以检久着季受织天表节省空间。从用户角度来看,这个控件是由一个文本输入控件和一个下拉菜单组成的。用户可以从一个预先定义的列表里选择一个选项,同时也可以直接在文本框里面输入文本

折叠 改变下拉框大小

1)直接在控件上操作,先点向下的箭头,就可以调整下拉框大小;

2)为了让列表框变久述的更宽,可以用setdroppedwidth(int width)函数来调整列表框的宽度。

折叠 定义控件对应变量

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

折叠 向控件添加Items

1)在Combo Bo式家经x控件属性的Data标签里面添加,一行表示Combo Box下拉列表中的一行。换行用ctrl+回车。若在VS2005中,Items间用";"隔开即可;

2)利用函数 AddString矿取员衡破某利渐怕()向 Combo Box 控件添加Items,如:

m_combo.AddString("StringData1");

m_combo.AddString("StringData2");

m_combo.AddString("StringData3");

3) 也可以调用函数 InsertString() 将 Item 轮针活办按础插入指定位置 nIndex,如:

m_combo.InsertString(nIndex, "StringData" );

4)int GetCount( )可以得到当前列表框中行的数量。

示例代码:程序初始化时动态添加Items

CString strTemp;

m_combo.ResetContent();//消除现有所有内容

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

{

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

m_combo.A府未创初行族松省原营ddString(strTemp);

}

从控件得到选定的Ite丰吃虽范河批m

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

int nIndex = m_combo.GetCurSel();

CString strText;

m_combo.GetLBText( nIndex, strText);

这样,得到的内容就保存在 strText 中。若要选取当前内容,可调用函数GetWindowText(s吗速兰西晶居频妒封父trText)

单触技六 在控件中查找给定Item

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

int nIndex =m_combo.FindStringExact( nStartAfter, "value to befound");

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

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

int n言解甚载千作突模Index =m_combo.SelectString( nStartAfter, "value to beselected");

折叠 删除控件中的Item

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

m_combo.DeleteString(nIndex);

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

m_combo.ResetContent();

折叠 显示控件中的某项

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

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

折叠 取得ComboBox框内容

1)取当前内容

m_combo.GetWindowText(strTemp);

2)取其他行内容

m_combo.GetLBText(n,strTemp);

折叠 获得焦点

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

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

但是combobox 的焦点不同,因为它是由edit和listbox两部分组成,所以获得焦点要用GetParent(),例如:

if ((GetFocus()->GetParent())==GetDlgItem(IDC_COMBO_CF))。

折叠 设置控件属性

1)Sort 属性:设置为 true,则新添加项将按字母顺序插入到列表中;否则,在列表的结尾处插入项。

2)Type属性:设置为Drop List,则使ComboBox不能输入只能在下拉菜单中选择;设置Dropdown,则ComboBox中允许输入内容。

3)No integral height属性,表示最大长度为设计长度,如果实际内容比设计长度多,就出现滚动条,少就以实际长度显示。

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

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

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

折叠 常用的消息映射宏

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会自动列出相关的消息,并能自动产生消息映射代码。

折叠 编辑本段 NET

在.NET的Server Control中只有DropDownList,而不像Win Form编程一样有ComboBox,但是AjaxControlToolkit中提供了ComboBox,可以提供文本输入功能,并且有SuggestAppend功能。

与Textbox不同的是,ComboBox.Text属性并不能取得文本框中的文本,此属性与ComboBox.SelectedValue完全等同,只能获得下拉列表中的Value。如果想获得ComboBox文本框中的文本,只能通过ComboBox.Controls属性来读取。

((TextBox)((Table)ComboBoxComponent.Controls[0]).Rows[0].Cells[0].Controls[0]).Text

这就是ComboBox中自己输入的文本。

循环初始化ComboBox的例子:

private void initComboBox()

{

for (int i = 0; i < 24; i++)

{

comboHour.Items.Add(i.ToString());

comboHour.SelectedIndex = 0; //设置第一个被选中

}

}

折叠 编辑本段 VFP控件

折叠 组合框combobox

组合框和列表框的功能类似,但使用更为灵活,更为常用。实际上,组合框是由一个文本框和一个列表框组成的,组合框又被称为弹出式菜单.用户使用时,单击文本框右侧的三角即可展开下拉列表。

折叠 组合框常用的属性

属性 作用

rowsource 组合框内容从何处来(来源)

rowsourcetype 组合框内容来源的类型,详见注1

displayvalue 选择值

boundcolumn 在组合框包含多项时指定哪一列作为value属性的值

columncount 行源列数

list(i) 第i行的值

selected(i) 第i行是否被选中

multiselect 是否可以同时选取多项

moverbars 项目是否可以移动

sorted 当rowsourcetype为0和1时,组合框内容是否按字母大小排序

listindex 组合框中当前被选定项的索引值

integralheight 组合框的高度是否可自动调整

listcount 组合框中数据项的数目

style 指定组合框的类型.参数如下:0-下拉组合框,也可在文本框中直接输入 2-下拉列表框,只能在展开的下拉列表中选择

incrementalsearch 确定在键盘操作时是否支持增量搜索.值为.T.,当用键盘选择列表项,用户敲一个键,系统将自动定位到与输入字母相应的项前

注1(rowsourcetype属性可指定的值):

0-无,运行时使用列表框的确良additem和addlistitem方法加入

1-值,将列表框的内容在设计时直接写在该属性中

2-表别名:由columncount确定表中选择的字段.当用户选择列表框时,记录指针将自动移到该记录上

3-sql语句:见sql部分,由执行的结果产生.

4-查询文件名:见查询部分,由查询结果产生

5-数组名

6-字段名表:可用表别名作为字段前缀.当用户选择列表项时,记录指针将自动移到该记录上

7-文件名描述框架,可包含"*"和"?"来描述在列表框中显示的文件名

8-结构

9-弹出式菜单,提供向后兼容.

折叠 组合框常用的方法

方法 作用

additem 增加列表项

removeitem 移去列表项

clear 移去所有列表项

requery 当rowsourcetype为3和4时,根据rowsource中的最新数据重新刷新列表项

折叠 组合框常用事件

列表框的常用事件为click(单击)事件、dbclick(双击)事件和interactivechange事件(当用户使用键盘或鼠标更改组合框的值时发生的事件,比如,我们单击组合框右侧的三角展开下拉列表时,即会发生此事件)。

阅读全文

热点资讯

我的关注