MFC - Combo Boxes

A combo box consists of a list box combined with either a static control or edit control. it is represented by CComboBox class. The list-box portion of the control may be displayed at all times or may only drop down when the user selects the drop-down arrow next to the control.
AddString
Adds a string to the end of the list in the list box of a combo box, or at the sorted position for list boxes with the CBS_SORT style.
Clear
Deletes (clears) the current selection, if any, in the edit control.
CompareItem
Called by the framework to determine the relative position of a new list item in a sorted ownerdrawn combo box.
Copy
Copies the current selection, if any, onto the Clipboard in CF_TEXT format.
Create
Creates the combo box and attaches it to the CComboBox object.
Cut
Deletes (cuts) the current selection, if any, in the edit control and copies the deleted text onto the Clipboard in CF_TEXT format.
DeleteItem
Called by the framework when a list item is deleted from an owner-drawn combo box.
DeleteString
Deletes a string from the list box of a combo box.
Dir
Adds a list of file names to the list box of a combo box.
DrawItem
Called by the framework when a visual aspect of an owner-drawn combo box changes.
FindString
Finds the first string that contains the specified prefix in the list box of a combo box.
FindStringExact
Finds the first list-box string (in a combo box) that matches the specified string.
GetComboBoxInfo
Retrieves information about the CComboBox object.
GetCount
Retrieves the number of items in the list box of a combo box.
GetCueBanner
Gets the cue text that is displayed for a combo box control.
GetCurSel
Retrieves the index of the currently selected item, if any, in the list box of a combo box.
GetDroppedControlRect
Retrieves the screen coordinates of the visible (dropped down) list box of a drop-down combo box.
GetDroppedState
Determines whether the list box of a drop-down combo box is visible (dropped down).
GetDroppedWidth
Retrieves the minimum allowed width for the drop-down list-box portion of a combo box.
GetEditSel
Gets the starting and ending character positions of the current selection in the edit control of a combo box.
GetExtendedUI
Determines whether a combo box has the default user interface or the extended user interface
GetHorizontalExtent
Returns the width in pixels that the list-box portion of the combo box can be scrolled horizontally.
GetItemData
Retrieves the applicationsupplied 32-bit value associated with the specified combo-box item.
GetItemDataPtr
Retrieves the applicationsupplied 32-bit pointer that is associated with the specified combo-box item.
GetItemHeight
Retrieves the height of list items in a combo box.
GetLBText
Gets a string from the list box of a combo box.
GetLBTextLen
Gets the length of a string in the list box of a combo box.
GetLocale
Retrieves the locale identifier for a combo box.
GetMinVisible
Gets the minimum number of visible items in the drop-down list of the current combo box.
GetTopIndex
Returns the index of the first visible item in the list-box portion of the combo box.
InitStorage
Preallocates blocks of memory for items and strings in the listbox portion of the combo box.
InsertString
Inserts a string into the list box of a combo box.
LimitText
Limits the length of the text that the user can enter into the edit control of a combo box.
MeasureItem
Called by the framework to determine combo box dimensions when an ownerdrawn combo box is created
Paste
Inserts the data from the Clipboard into the edit control at the current cursor position. Data is inserted only if the Clipboard contains data in CF_TEXT format.
ResetContent
Removes all items from the list box and edit control of a combo box.
SelectString
Searches for a string in the list box of a combo box and, if the string is found, selects the string in the list box and copies the string to the edit control.
SetCueBanner
Sets the cue text that is displayed for a combo box control.
SetCurSel
Selects a string in the list box of a combo box.
SetDroppedWidth
Sets the minimum allowed width for the drop-down list-box portion of a combo box.
SetEditSel
Selects characters in the edit control of a combo box.
SetExtendedUI
Selects either the default user interface or the extended user interface for a combo box that has the CBS_DROPDOWN or CBS_DROPDOWNLIST style.
SetHorizontalExtent
Sets the width in pixels that the list-box portion of the combo box can be scrolled horizontally.
SetItemData
Sets the 32-bit value associated with the specified item in a combo box.
SetItemDataPtr
Sets the 32-bit pointer associated with the specified item in a combo box.
SetItemHeight
Sets the height of list items in a combo box or the height of the edit-control (or static-text) portion of a combo box.
SetLocale
Sets the locale identifier for a combo box.
SetMinVisibleItems
Sets the minimum number of visible items in the drop-down list of the current combo box.
SetTopIndex
Tells the list-box portion of the combo box to display the item with the specified index at the top.
ShowDropDown
Shows or hides the list box of a combo box that has the CBS_DROPDOWN or CBS_DROPDOWNLIST style.
Here is the list of messages mapping for Combobox control −
Let us look into an example of Radio button by creating a new MFC dialog based application.
Step 1 − Drag a Combo box and remove the Caption of Static Text control.
Step 2 − Add a control variable m_comboBoxCtrl for combobox and value variable m_strTextCtrl for Static Text control.
Step 3 − Add event handler for selection change of combo box.
Step 4 − Add the following code in OnInitDialog() to load the combo box.
for (int i = 0; i<10; i++) {
   str.Format(_T("Item %d"), i);
   m_comboBoxCtrl.AddString(str);
}
Step 5 − Here is the implementation of event handler.
void CMFCComboBoxDlg::OnCbnSelchangeCombo1() {
   
   // TODO: Add your control notification handler code here
   m_comboBoxCtrl.GetLBText(m_comboBoxCtrl.GetCurSel(), m_strTextCtrl);
   UpdateData(FALSE);
}
Step 6 − When the above code is compiled and executed, you will see the following output.
Step 7 − When you select any item then it will be displayed on the Text Control.
 Print
 Add Notes
 Bookmark this page