Re: about CComboBox::GetItemData(int index) return value
On Fri, 31 Aug 2007 11:31:11 -0700, ".rhavin grobert" <clqrq@yahoo.de>
wrote:
On 30 Aug., 00:30, "Doug Harrison [MVP]" <d...@mvps.org> wrote:
On Wed, 29 Aug 2007 21:26:17 +0200, V?clav Jedli?ka
It does kinda suck that this value is effectively forbidden for your data...
Is it?
m_ComboBox.SetItemData(m_ComboBox.AddString("Test1"), 0);
m_ComboBox.SetItemData(m_ComboBox.AddString("Test2"), -1);
m_ComboBox.SetItemData(m_ComboBox.AddString("Test3"), -2);
int a1 = m_ComboBox.GetItemData(0);
int a2 = m_ComboBox.GetItemData(1);
int a3 = m_ComboBox.GetItemData(2);
// a1 is 0, a2 is -1, a3 is -2, as expected.
Sure you can store it, but you can't retrieve it and distinguish it from
the CB_ERR return code. Another example that comes to mind involves thread
return codes, but at least MS is now documenting it properly:
GetExitCodeThread
http://msdn2.microsoft.com/en-us/library/ms683190.aspx
<q>
Warning If a thread happens to return STILL_ACTIVE (259) as an error code,
applications that test for this value could end up in an infinite loop.
</q>
--
Doug Harrison
Visual C++ MVP