网站首页  词典首页

请输入您要查询的计算机术语:

 

术语 CComboBox
释义 CComboBox

CObject
 └CCmdTarget
    └CWnd
       └CComboBox

类CComboBox封装了Windows组合框。组合框由一个列表框和一个静态控件(或编辑控件)组成。列表框部分可以是一直显示的,也可以是隐藏的,在用户单击编辑控件边上的按钮(下拉箭头)时下拉该列表框。列表框中当前选中的项(如果有的话)显示在静态控件或编辑控件中。如果组合框带有下拉风格,则当用户在编辑框中输入列表项的开始字符时,对应项(如果有的话)中的第一个将会加亮显示。
下表列出了组合框的三种风格:
风格列表框何时可见静态控件还是编辑控件
Simple总是可见编辑控件
Drop-down当用户单击控件边上的下拉箭头时编辑控件
Drop-downlist当用户单击控件边上的下拉箭头时静态控件

可以从对话框模板中建立一个CComboBox对象,也可以直接在代码中创建。无论采用哪种方法,都要先调用CComboBox的构造函数构造一个CComboBox对象,然后调用成员函数Create创建控件并在CComboBox对象上应用它。
消息映射入口的格式如下:
ON_Notification( id, memberFxn )
其中id指定了发送通知的组合框控件的子窗口ID,而memberFxn是用于处理该通知的父成员函数的名字。
父窗口的函数原型的格式如下:
afx_msg void memberFxn( );
通知发送的次序是不能预先确定的。例如,通知CBN_SELCHANGE既可能在CBN_CLOSEUP之前也可能在它之后出现。
可能的消息映射入口如下:
·ON_CBN_CLOSEUP(Windows 3.1及更高版本)组合框的列表已被关闭。对于风格为CBS_SIMPLE的组合框来说,不会发送该通知消息。
·ON_CBN_DBCLICK用户双击了列表框中的一个字符串。只对风格为CBS_SIMPLE的组合框发送。对于风格为CBS_DROPDOWN或CBS_DROPDOWNLIST的组合框来说,不会出现双击的消息,因为一次单击就会使下拉列表隐藏或显示了。
·ON_CBN_DROPDOWN下拉出下拉列表(变为可见)。只对风格为CBS_DROPDOWN或CBS_DROPDOWNLIST的组合框起作用。
·ON_CBN_EDITCHANGE用户发出了一个可能改变编辑控件中文本的动作。与消息CBN_EDITUPDATE不同,本消息是在Windows刷新屏幕之后发出的。风格为CBS_DROPDOWNLIST的组合框没有该通知。
·ON_CBN_EDITUPDATE编辑控件部分将显示变化了的文本。本通知消息在控件已经格式化了文本但没有显示时发送。风格为CBS_DROPDOWNLIST的组合框没有该通知。
·ON_CBN_ERRSPACE不能为组合框分配足够的内存进行响应某个请求。
·ON_CBN_SELENDCANCEL(Wndows 3.1及更高版本)表明用户的选择将被忽略。用户在单击了一个项之后,又单击了另外一个窗口或控件隐藏了组合框的下拉列表。此通知消息在CBN_CLOSEUP消息之前发送,以表明用户的选择将被忽略。即使没有发送CBN_CLOSEUP通知消息,也会发送CBN_SELENDCANCEL或CBN_SELENDOK消息(例如风格为CBS_SIMPLE的组合框)。
·ON_CBN_SELENDOK用户在选择了一项以后,要么按了ENTER键,要么按了向下箭头键,从而隐藏了组合框的列表。此通知消息在CBN_CLOSEUP之前发送,表明用户的选择将不被认为是有效的。即使没有发送CBN_CLOSEUP通知消息,也会发送CBN_SELENDCANCEL或CBN_SEL-ENDOK消息(例如风格为CBS_SIMPLE的组合框)。
·ON_CBN_KILLFOCUS组合框将失去输入焦点。
·ON_CBN_SELCHANGE用户在列表中单击或者利用箭头键选择了另一个项,从而引起了选中项的改变。在处理此消息时,编辑控件中的文本只能通过GetLBText或者类似的某个函数存取。不能使用GetWindowText函数。
·ON_CBN_SETFOCUS组合框获得输入焦点。
如果在对话框中创建了一个CComboBox对象,在关闭对话框时该CComboBox对象将自动撤消。
如果在另外一个窗口对象中嵌入了一个CComboBox对象,不需要显式地撤消它。如果在堆栈中创建了一个CComboBox对象,它也会被自动地撤消。如果采用new在内存堆中创建了一个CComboBox对象,则必须调用delete来撤消它。
#include <afxwin.h>

请参阅:
CWnd, CButton, CEdit, CListBox, CScrollBar, CStatic, CDialog


CComboBox类的成员

构造函数
CComboBox构造一个CComboBox对象

初始化函数
Create创建一个组合框并应用到CComboBox对象上
InitStorage预先为组合框的列表框中的项和字符串分配内存

通用操作
GetCount取得组合框的列表框中项的个数
GetCurSel取得组合框的列表框中当前选中项(如果有的话)的下标
SetCurSel在组合框的列表框中选择一个字符串
GetEditSel取得组合框的编辑控件中当前选项的起止字符位置
SetEditSel选中组合框的编辑控件中的字符
SetItemData设置组合框中指定项的32位值
SetItemDataPtr把组合框中指定项的32位值设置成一个指定的void型指针
GetItemData检索应用为组合框的项提供的32位值
GetItemDataPtr检索应用为组合框的项提供的32位值,返回一个void型指针
GetTopIndex返回组合框中列表框的第一个可见项的下标
SetTopIndex让组合框的列表框显示指定下标所在的项
SetHorizontalExtent设置组合框中列表框的水平宽度(以像素为单位),如果列表超过该宽度,将需要用滚动条
GetHorizontalExtent返回组合框中列表框的水平宽度(以像素为单位)
SetDroppedWidth设置组合框中下拉列表允许的最小宽度
GetDroppedWidth返回组合框中下拉列表允许的最小宽度
Clear删除编辑控件中的当前选择(如果有的话)
Copy以CF_TEXT格式拷贝编辑控件中的当前选择(如果有的话)到剪贴板
Cut删除编辑控件中的选择项(如果有的话),并把删除的内容以CF_TEXT格式拷贝到剪贴板
Paste在编辑控件中的当前位置粘贴剪贴板中的内容。仅当剪贴板中的数据是CF_TEXT格式的才会真正插入
LimitText设置用户可以在组合框的编辑控件中输入的文本的最大长度
SetItemHeight设置组合宽中列表框的项的高度或编辑控件(或静态控件)中文本的高度
GetItemHeight取得组合框中列表项的高度
GetLBText从组合框的列表框中取得一个字符串
GetLBTextLen取得组合框的列表框中某个字符串的长度
ShowDropDown显示或者隐藏风格为CBS_DROPDOWN或CBS_DROPDOWNLIST的组合框的列表框
GetDroppedControlRect取得组合框中可见(已经下拉)的列表框的屏幕坐标
GetDroppedState检测组合框的列表框是否可见(是否已经下拉)
SetExtendedUI选择风格为CBS_DROPDOWN或CBS_DROPDOWNLIST的组合框中的列表框的缺省用户接口或扩展用户接口
GetExtendedUI检测组合框的用户接口是缺省的还是扩展的
GetLocale取得组合框的定位标记
SetLocale设置组合框的定位标记

字符串操作
AddString在组合框的列表框的列表末尾添加一个字符串,或在具有CBS_SORT风格的的列表框中按次序所在的位置插入一个字符串
DeleteString删除组合框中的列表框中的一个字符串
InsertString在组合框的列表框中插入一个字符串
ResetContent删除组合框的列表框和编辑控件中的所有项
Dir在组合框的列表框中添加文件名的列表
FindString在组合框的列表框中查找具有指定前缀的第一个字符串
FindStringExact在组合框的列表框中查找具有与指定字符串完全匹配的第一个字符串
SelectString在组合框的列表框中查找字符串,找到后选中它,并把它拷贝到编辑控件中

可覆盖的函数
DrawItem当自定义的组合框的某个可视特性改变时,由主程序调用
MeasureItem当创建一个自定义的组合框时,由主程序调用以检测组合框的维数
CompareItem由主程序调用以检测在有序的自定义组合框中新项所在的位置
DeleteItem从自定义的组合框中删除一个列表项时,由主程序调用
随便看

 

MFC类库中文详解手册包含4274条MFC类库参考词条,基本涵盖了Microsoft基本类库中的类、全局函数、全局变量和宏的内容,是计算机编程的有利工具。

 

Copyright © 2004-2023 Winrtm.com All Rights Reserved
京ICP备2021023879号-40 更新时间:2024/10/6 14:34:48