我在Windows Vista上创建WC_COMBOBOXEX
并为其添加字符串,但它们不会显示在控件中。如果我使用旧的WC_COMBOBOX
和CB_ADDSTRING
,则相同的字符串会显示正常。
我使用ICC_USEREX_CLASSES调用InitCommonControlsEx并使用样式为WS_CHILD|WS_CLIPSIBLINGS|CBS_SIMPLE|CBS_SORT|CBS_HASSTRINGS
的CreateWindowEx创建组合框(没有扩展样式)。我正在使用
COMBOBOXEXITEM cbem = {0};
cbem.mask = CBEIF_TEXT;
cbem.iItem = -1;
cbem.pszText = L"hello";
SendMessage(hWnd_, CBEM_INSERTITEM, 0, TOLPARAM(&cbem));
组合框显示为空,但是当我在editcontrol / listbox中上下移动光标时,有时会看到有趣的块字符。
最后,我想将它作为CBS_DROPDOWNLIST
添加到钢筋控件中,但是我在某处读到了comboboxex在那里的工作效果比旧的组合框好得多。
感谢。
答案 0 :(得分:0)
如果您发送CBEM_SETUNICODEFORMAT会有帮助吗?
答案 1 :(得分:0)
来自MSDN:
ComboBoxEx控件仅支持以下ComboBox样式:
CBS_SIMPLE
CBS_DROPDOWN
CBS_DROPDOWNLIST
WS_CHILD
所以CBS_SORT和CBS_HASSTRINGS可能会搞乱样式位。