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:
Other People Are Reading
Things you need
- Microsoft Visual Studio IDE
- Book on MFC, such as "Programming Windows With MFC" by Jeff Prosise
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.
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."
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.
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.
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;
str = m_myEditBox;
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;
pos = m_myListBox.GetCurSel();
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:
- General Operations
- Single-Selection Operations
- Multiple-Selection Operations
- String Operations
- For a complete listing, visit Microsoft.com and enter "CListBox" in the search box.
- 20 of the funniest online reviews ever
- 14 Biggest lies people tell in online dating sites
- Hilarious things Google thinks you're trying to search for