有没有办法检索CComboBox的类型?
我需要知道它是“Dropdown”还是“Drop List”。
我尝试了以下内容:
if (m_MyComboBox.GetStyle() & CBS_DROPDOWN)
// do some stuff
和
if (m_MyComboBox.GetStyle() & CBS_DROPDOWNLIST)
// do some stuff
但无论CComboBox是下拉列表还是下拉列表,这两个表达式似乎都评估为TRUE。
答案 0 :(得分:5)
使用以下代码
if ((m_MyComboBox.GetStyle() & 3) == CBS_SIMPLE)
{
//SIMPLE
}
if ((m_MyComboBox.GetStyle() & 3) == CBS_DROPDOWN)
{
//DROPDOWN
}
if ((m_MyComboBox.GetStyle() & 3) == CBS_DROPDOWNLIST)
{
//DROPDOWNLIST
}
答案 1 :(得分:3)
来自winuser.h:
#define CBS_DROPDOWN 0x0002L
#define CBS_DROPDOWNLIST 0x0003L
你需要:
switch(m_MyComboBox.GetStyle() & CBS_DROPDOWNLIST)
{
case CBS_SIMPLE:
// do stuff
break;
case CBS_DROPDOWN:
// do stuff
break;
case CBS_DROPDOWNLIST:
// do stuff
break;
}