我已經在資源編輯器中將組合框數據設置爲「第一,第二,第三」,但是當我編譯程序時,組合框完全是空的,我根本看不到任何項目。如何使用數據字段獲取組合框顯示值?
另外,如何設置默認選擇哪個項目?如何以編程方式更改當前選定的項目?
我已經在資源編輯器中將組合框數據設置爲「第一,第二,第三」,但是當我編譯程序時,組合框完全是空的,我根本看不到任何項目。如何使用數據字段獲取組合框顯示值?
另外,如何設置默認選擇哪個項目?如何以編程方式更改當前選定的項目?
結帳本教程在Win32組合框:Introduction to Combo Boxes
如果您正在使用MFC CComboBox類,那麼你需要使用的方法AddString()
或InsertString()
在組合框列表中添加元素。
感謝您的鏈接,看起來像SendMessage()是唯一的方法。 – Rookie 2011-06-01 14:59:12
答案可以在這篇文章中找到:http://codeguru.earthweb.com/cpp/com-tech/atl/atl/print.php/c3599
由資源編輯器添加的DLGINIT資源是消息列表傳遞給子控件創建對話框之後。 MFC有代碼在ExecuteDlgInit
方法中自動執行此操作,所以基於MFC的解決方案將「正常工作」;其他人將不得不提供自己的代碼進行初始化。它也似乎是由對話框編輯器插入的消息基於16位Windows API並需要32/64位Windows的轉換。
我建議忽略對話框編輯器提供的初始化數據並使用CB_ADDSTRING message來放置初始字符串。
其他一些很好的意見在這裏:http://www.flounder.com/combobox.htm
對於設定值,則可以使用AddString()方法mycombobox.AddString( 「第一」); mycombobox.AddString( 「第二」); mycombobox.AddString( 「第三」);要設置索引,可以使用SetCurSel()方法並將其設置爲默認值「first」。 mycombobox.SetCurSel(0);
line1;line2;line3
在初始化時,所有的這些值將在一行中顯示:
在「數據」字段,如下輸入由分號;
分隔的值。
這適用於VS 2015,我認爲早在VS 2008
您是否使用MFC CComboBox類來創建組合框? – yasouser 2011-06-01 14:17:25
@yasouser,不,我剛剛在visual-studio資源編輯器中創建了組合框。 – Rookie 2011-06-01 14:39:00