CCombobox enhancement to help with Text and item data | CodeGuru

CCombobox enhancement to help with Text and item data

Download Source Code The purpose of TComboBox is to make life easier for programmers when dealing with comboboxes that need to store a string, integer, etc. value as the code for any given string that is displayed. The “code” that I am referring to is the item data of the combobox itself (see the SetItemData() […]

Written By
CodeGuru Staff
CodeGuru Staff
Aug 6, 1998
1 minute read
CodeGuru content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More

Download Source Code

The purpose of TComboBox is to make life easier for programmers when dealing
with comboboxes that need to store a string, integer, etc. value as the code for
any given string that is displayed. The “code” that I am referring to is the item
data of the combobox itself (see the SetItemData() member function of CComboBox).

For example:

	// Header file contains entry for the TComboBox member variable.
	CTCombobox myCombo;
	CString m_csCodeOneStr;

 

	// Implementation file contains initialization of the combobox
	// Standard combobox method:
	CMydialog::OnInitDialog()
	{
		…

// Special note: We have to use a member CString object so that
// when the string goes out of scope (because the OnInitDialog()
// function ends), the code string will still exist.
m_csCodeOneStr = “Code1”;

DWORD dwCode = &m_csCodeOneStr;
int nComboEntry;
nComboEntry = myCombo.AddString(“Here’s one”);

if (nComboEntry != CB_ERR)
myCombo.SetItemData(nComboEntry, dwCode);


}

	// Implementation file contains initialization of the combobox
	// TComboBox method:
	CMydialog::OnInitDialog()
	{
		…

MyCombo.AddEntry(“Here’s one”, “Code1”);


}

You can now use the GetCode() method of TComboBox to retrieve the code for any
item (or the currently selected item). This is of course instead of having to
typedef the DWORD parameter over into a CString.

For example:

	CString csCodeValue;
	myCombo.GetSelectedCode(csCodeValue);

or,

	myCombo.GetCode(0, csCodeValue);

Last updated: 26 July 1998

CodeGuru Logo

CodeGuru covers topics related to Microsoft-related software development, mobile development, database management, and web application programming. In addition to tutorials and how-tos that teach programmers how to code in Microsoft-related languages and frameworks like C# and .Net, we also publish articles on software development tools, the latest in developer news, and advice for project managers. Cloud services such as Microsoft Azure and database options including SQL Server and MSSQL are also frequently covered.

Property of TechnologyAdvice. © 2026 TechnologyAdvice. All Rights Reserved

Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.