這是一個Windows MFC編程問題。 我有一個派生的CComboBox,它實現了自己的項目繪製和測量。我做了一點改進,下拉列表的寬度可以根據列表內容進行調整。 我在OnDropDown消息處理程序中使用SetDroppedWidth來執行此操作。 插入字符串並單擊組合框後,選定的字符串內容將佔用所有靜態/編輯區域,並且丟失下拉按鈕。 我可以看到項目ID爲-1的項目的寬度在ItemDraw方法中被更改/重置爲新的拖放寬度。我不認爲這是正確的行爲。我希望新的放下的寬度僅對項目ID不小於0的列表項目生效。 任何想法?使用SetDroppedWidth後MFC組合框下拉按鈕丟失
1
A
回答
1
試着使用它。
在您的OnDropDown處理程序中調用CComboBox::GetComboBoxInfo。它會返回你的結構指針COMBOBOXINFO
。其他結構包含下拉列表框的HWND。直接在這個hwndList上使用MoveWindow()API,看看它是否有效
如果這樣不行,試試發帖CB_SETDROPPEDWIDTH
消息。如您所知,SetDroppedWidth
只是CB_SETDROPPEDWIDTH
消息的包裝。它作爲SendMessage
呼叫實施。試試這個:
::PostMessage(m_myComboBox.GetSafeHwnd(), CB_SETDROPPEDWIDTH, nWidth, 0);
相關問題
- 1. JQuery:當按下按鈕時,級聯下拉列表丟失值
- 2. QComboBox的下拉按鈕,組合框框架
- 3. 下拉組合框
- 4. 丟失按鈕
- 5. 如何更改組合框控件中的下拉按鈕?
- 6. JavaFX:如何更改組合框/ ChoiceBox下拉按鈕位置?
- 7. Excel的VBA組合框下拉按鈕大小 - 改變自身
- 8. Android:按下後退按鈕時出現Texttedit輸入丟失
- 9. Silverlight Windows Phone 7 - 使用硬件後退按鈕後丟失的按鈕事件
- 10. 使用按鈕擴展組合框
- 11. 連續最後一個按鈕丟失
- 12. 丟失的按鈕放在ListView之後
- 13. 組合框下拉緩存
- 14. ASP.NET MVC組合下拉框
- 15. 組合框下拉位置
- 16. C#組合框的下拉
- 17. 在後期使用JSON綁定下拉列表回下拉數據丟失
- 18. WPF組合框樣式丟失
- 19. 組合框單擊時丟失狀態
- 20. 組合框丟失選定的值
- 21. Castom組合框和丟失綁定
- 22. 按下按鈕點擊組合框下降
- 23. Multibinding與組合框按鈕
- 24. 使用jquery菜單列表的下拉列表在消除後點擊下拉列表按鈕後消失
- 25. 下拉按鈕?
- 26. Chrome動畫按鈕丟失
- 27. 搜索按鈕丟失datada
- 28. System.Windows.MessageBox:是的按鈕丟失
- 29. Java丟失按鈕文本
- 30. 使用Selenium自動化組合框(下拉+複選框)
嘗試在初始化組合框項目後調用SetDroppedWidth。我認爲在OnDropDown方法中調用它並不是一個合適的地方 – cha 2013-03-06 22:35:54
但是通過這種方式,組合框的寬度只能調整一次,因爲初始化只被調用一次。 – Buzz 2013-03-07 00:57:06