MFC ComboBox:不显示文本框

时间:2013-12-03 17:09:45

标签: c++ combobox mfc toolbar

所以在我的大型机功能中我创建了一个工具栏,在这个工具栏上我想要包含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); 

这是与代码相关的东西,我在这些功能中做错了吗?或者问题与资源文件/位图有关吗?

1 个答案:

答案 0 :(得分:0)

解决了它。我只需要在我的组合框之间放置垫片。第一个显示正常,因为它的左边没有任何东西。第二个文本框被第一个文本框覆盖(重叠)。