How to Use a Listbox Control in MFC Visual C++

Written by ehow contributor
  • Share
  • Tweet
  • Share
  • Email

A list box is a Windows control that can display text or iconic items as a list of rows. The Microsoft Foundation Class (MFC) Library offers the CListBox class that encapsulates all the necessary functionalities for manipulating a list box. Follow these steps to see how you can add a text string to and remove it from a list box in Microsoft Visual Studio.

Skill level:
Easy

Other People Are Reading

Things you need

  • Microsoft Visual Studio IDE
  • Book on MFC, such as "Programming Windows With MFC" by Jeff Prosise

Show MoreHide

Instructions

  1. 1

    Create a new project in Visual Studio to manipulate the control. From the upper menu bar, click "File" > "New" and select "MFC AppWizard(exe)" in the "Projects" tab. Enter a name for the project in the "Project name" text box and click "OK." Select the "Dialog based" radio button and click "Finish" and then "OK." A dialog screen with two control buttons, one "OK" and one "Cancel," is displayed in the Design View mode.

  2. 2

    Add MFC controls on the dialog screen: one list box and some auxiliary controls to make the tutorial more interesting. To find a list box, move the mouse over the controls toolbox and read the popup balloons. Click the "List Box" icon and click on the dialog screen to add it there. In a similar fashion add an "Edit Box" and two "Buttons."

  3. 3

    Modify the MFC controls. Right-click on the list box, select "Properties" and change the ID to IDC_MYLISTBOX, under the "General" tab. Do the same to the edit box and change its ID to IDC_MYEDITBOX. In one button, change the ID to IDC_MYBUTTONADD and the Caption to "Add." In the other button, change the ID and Caption to IDC_MYBUTTONREM and "Remove," respectively.

  4. 4

    Join the list box and edit box using the Class Wizard. From the upper menu, click "View" > "Classwizard" or press Ctrl+W. Select "IDC_MYLISTBOX" under the "Member Variables" tab and click "Add Variable." Type "m_myListBox" in the "Member variable name" text box and select "Control" under "Category." Click "OK." Next, select "IDC_MYEDITBOX," click "Add Variable" and give the name "m_myEditBox." Don't change the combo boxes. Click "OK" to close the class wizard.

  5. 5

    Give some functionality to the Add button. Double-click the "Add" button. When the "Add Member Function" window appears, click "OK." Copy and paste the following code inside the "::OnMybuttonadd()" function, under the comment: <table><tr><td> CString str;

    UpdateData();

    str = m_myEditBox;

    UpdateData(FALSE);

    m_myListBox.AddString(str); </td></tr></table>

  6. 6

    Repeat Step 5 for the "Remove" button. Copy and paste the following code inside the "::OnMybuttonrem()" function, under the comment: <table><tr><td> int pos;

    CString str;

    pos = m_myListBox.GetCurSel();

    m_myListBox.DeleteString(pos); </td></tr></table>

  7. 7

    Compile and run the code. Type some text in the edit box and click the Add button. That text will be added as a row in the list box. Next, highlight a list box row and click Remove. This action deletes the row.

Tips and warnings

  • The list box communicates with its parent, usually a dialog box like in this tutorial, by means of notification messages like LBN_DBLCLICK (the list box has been double-clicked).
  • The CListBox class offers many other member functions that fall into seven categories. Here are just a few:
  • Construction
  • CListBox
  • Initialization
  • Create
  • InitStorage
  • General Operations
  • GetCount
  • GetItemRect
  • GetItem
  • Single-Selection Operations
  • GetCurSel
  • Multiple-Selection Operations
  • SetSel
  • SetItemRange
  • String Operations
  • AddString
  • FindString
  • ResetContent
  • Overridables
  • DrawItem
  • For a complete listing, visit Microsoft.com and enter "CListBox" in the search box.

Don't Miss

Filter:
  • All types
  • Articles
  • Slideshows
  • Videos
Sort:
  • Most relevant
  • Most popular
  • Most recent

No articles available

No slideshows available

No videos available

By using the eHow.co.uk site, you consent to the use of cookies. For more information, please see our Cookie policy.