Итак, в моей функции мэйнфрейма я создал панель инструментов, и на этой панели инструментов я хочу включить 2 стандартных поля со списком: (текстовое поле, кнопка выпадающего меню, раскрывающееся меню). Я использую класс CComboBox. Мои панели инструментов также создаются с использованием CBCGPro.
Первый комбобокс создан и выглядит отлично. Вот код:
CRect rect;
m_wndToolBarSelectCN.SetButtonInfo(0, IDM_SHOW_SELECT_CN_TOOLBAR, TBBS_SEPARATOR, 175);
m_wndToolBarSelectCN.GetItemRect(0, &rect);
rect.bottom = rect.top + 200;
sg_cbToolsbarClasses.Create(WS_CHILD|WS_VISIBLE|WS_VSCROLL|CBS_DROPDOWN, rect,
&m_wndToolBarSelectCN, IDS_TOOLBAR_SELECT_CB_CLASS);
m_wndToolBarSelectCN — это панель инструментов, которую я создал в своей функции мэйнфрейма, а sg_cbToolsbarClasses — мой объект CcomboBox.
Мой второй ComboBox прямо справа от первого, имеет выпадающее меню и кнопку выпадающего меню, но не текстовое поле. Также все его функциональные возможности работают. Вот код:
m_wndToolBarSelectCN.SetButtonInfo(1, IDM_SHOW_SELECT_CN_TOOLBAR, TBBS_DROPDOWN, 500);
m_wndToolBarSelectCN.GetItemRect(1, &rect2);
rect2.bottom = rect2.top + 200;
sg_cbToolsbarNodes.Create(WS_CHILD|WS_VISIBLE|WS_VSCROLL|CBS_DROPDOWN, rect2,
&m_wndToolBarSelectCN, IDS_TOOLBAR_SELECT_CB_NODE);
Это связано с кодом, я делаю что-то не так в этих функциях? Или проблема связана с файлами ресурсов / растровыми изображениями?
Решил это. Мне просто нужны были проставки между моими выпадающими списками. Первый показывал хорошо, потому что ничего не было слева. Текстовое поле второго перекрывалось первым.
Других решений пока нет …