|
|
|
Forum Guru
      
участник
Last Login: 07.04.2002 0:00
Сообщ.: 59,
Visits: 650
|
|
| как можно заставить ComboBox (который не dropdown, а simple) не реагировать на клик по элементу? EnableWindow не пойдет, так как нужно вносить текст
|
|
|
|
|
Supreme Being
      
участник
Last Login: 11.09.2003 19:04
Сообщ.: 97,
Visits: 1 068
|
|
Hi !!
я вариантов не вижу , можно попробовать скомбинировать CListCtrl и CEditBox
with best regards VitSoft
http://www.development.efficientit.com/index.html
|
|
|
|
|
Forum Guru
      
участник
Last Login: 07.04.2002 0:00
Сообщ.: 59,
Visits: 650
|
|
варианты то, в принципе, есть - создать класс. производный от CComboBox и поставить свой обработчик на ON_CBN_SELCHANGE. Но, почему-то, обработка по умолчанию производится в любом случае :((
так что, действительно пришлось комбинировать ListBox & EditBox
|
|
|
|
|
Supreme Being
      
модератор
Last Login: 10.11.2008 0:08
Сообщ.: 1 298,
Visits: 12 501
|
|
Замечание: как ни печально,но факт... По-моему это происходит потому, что CComboBox является стандартным элементом управления, вся его реализация вынесена в одну из системных библиотек, а в MFC только перекрыты вызовы создания и управления этим компонентом. А событие ON_CBN_SELCHANGE только уведомляет тебя о том что произошел выбор, причем как-то не удачно - до изменения состояния содержимого Edit. То есть, даже если и запоминать старое значение, с целью вернуть его. То не понятно на какое событие это надо делать. Впрочем, я видел реализации с таймером... После этого события включается таймер, который вызывает функцию через 100 мс, например, и она возвращает старое значение и убивает таймер. Хотя, по-моему, вариант Edit&ListBox - лучше, по крайней мере ты сам все контролируешь.
С уважением, Владимир
|
|
|
|