2013-01-24 59 views
2

我有一個小comboBox,我想用6個條目填充它...。 我寫了這個代碼:C++ MFC CComboBox是空的

CComboBox* dropdownList = ((CComboBox*)GetDlgItem(IDC_PROGRAMDROPDOWN)); 
dropdownList->Clear(); 
dropdownList->AddString(L"test"); 
dropdownList->AddString(L"test2"); 
dropdownList->InsertString(2,L"test3"); 
dropdownList->InsertString(3,L"test4"); 
dropdownList->InsertString(4,L"test5"); 

正如你可以看到我試過AddString(),並InsertString()。兩者都沒有效果。我也試過AddString()這應該是初始化它的正確方法。

但是,我的combobox是空的。我已經調試過了,這條命令被打了但沒有任何效果。

你有什麼想法嗎?

+4

嗨,也許你不小心簽在CComboBox的屬性的OwnerDraw設定? – Clemens

+1

你究竟把這個代碼放在哪裏?在'OnInitDialog'中,對嗎?或沒有? – Ajay

回答

1

感謝您的所有答案。但是,我的IDE是一個醜陋的失敗 - .-。我只是重新與UI元素和它的工作...

我有相同屬性的重新創建它(複製粘貼&)

2

在對話框編輯器中,確保調整ComboBox項目的大小,使其高度足夠大,以便在ComboBox展開時包含所有項目。默認情況下,它只會是ComboBox的「編輯控件」位的高度,這會限制展開的高度。

因此,在對話框編輯器中,單擊組合框的下拉按鈕位,您應該看到拖動控制柄有點變化。拖出新的大小以考慮下拉列表中的所有項目。