Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.145.23.123] |
|
Сообщ.
#1
,
|
|
|
Доброго времени суток.
Есть диалог, на диалоге CRichEditCtrl и надо реализовать автозаполнение. При вводе слова я создаю CListBox и показываю в нем варианты. Все работает хорошо но CListBox ограничен границами CRichEditCtrl, а хотелось бы чтобы показывать список как всплывающее меню или как комбобокс, которые не ограничены их родительскими окнами. Спасибо. |
Сообщ.
#2
,
|
|
|
Цитата fenix710 @ . Все работает хорошо но CListBox ограничен границами CRichEditCtrl, Скорее всего это потому, что ты создаёшь CListBox с флагом WS_CHILD. Попробуй вместо него поставить WS_POPUP. |
Сообщ.
#3
,
|
|
|
Цитата Олег М @ Цитата fenix710 @ . Все работает хорошо но CListBox ограничен границами CRichEditCtrl, Скорее всего это потому, что ты создаёшь CListBox с флагом WS_CHILD. Попробуй вместо него поставить WS_POPUP. Да, мне нужен WS_POPUP, но его нельзя использовать в Create, а только в CreateEx и в этом случае нельзя задать nID, т.е. parent не может получать WM_NOTIFY сообщения от этого контрола. Все немного запутанно. В общем пришлось унаследовать CListBox и потом отправлять необходимые сообщения вручную через SendMessage к родителю. |
Сообщ.
#4
,
|
|
|
Цитата fenix710 @ Да, мне нужен WS_POPUP, но его нельзя использовать в Create Имеешь ввиду CListBox::Create? Почему нельзя? Замени там WS_CHILD на WS_POPUP и всё. Добавлено Да увидел, что CWnd::Create принудительно проставляется WS_CHILD |
Сообщ.
#5
,
|
|
|
Цитата Олег М @ Цитата fenix710 @ Да, мне нужен WS_POPUP, но его нельзя использовать в Create Имеешь ввиду CListBox::Create? Почему нельзя? Замени там WS_CHILD на WS_POPUP и всё. Добавлено Да увидел, что CWnd::Create принудительно проставляется WS_CHILD Нельзя создать CListBox со стилем WS_POPUP, Create вернет FALSE т.к. далее в коде MFC добавляет флаг WS_CHILD автоматически. Только если через CreateEx. |