![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Лиходей |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 25.5.2008 Репутация: нет Всего: нет |
Не срабатывает событие по щелчку на Комбобокс
Проверял в Delphi 5,6 нижеприведенный код не работает
По гуглил, поискал по форуму ничего не нашел. Скажите как с этим бороться? |
|||
|
||||
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 7 Всего: 122 |
а в Events эта процедура выбрана?
|
|||
|
||||
| Лиходей |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 25.5.2008 Репутация: нет Всего: нет |
Да. Сами попробуйте у вас работает? |
|||
|
||||
| Exai1e |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 908 Регистрация: 3.12.2006 Где: Moscow Репутация: 2 Всего: 30 |
-------------------- "Решение зависит от выбранного геморроя" © Snowy "у нас как в армии - либо работает, либо так и задумано" |
|||
|
||||
| THandle |
|
|||
![]() Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 65 Всего: 372 |
Видимо это... Сейчас поковыряю реализацию комбобокса... |
|||
|
||||
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 7 Всего: 122 |
молодежь.. а так?
Добавлено через 43 секунды если не заполнено, то как срабатывать будет?! |
|||
|
||||
| Rodman |
|
|||
|
CIO ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 6144 Регистрация: 7.5.2006 Где: Ukraine ⇛ Kyiv ci ty Репутация: 7 Всего: 122 |
или OnChange используйте
|
|||
|
||||
| Лиходей |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 25.5.2008 Репутация: нет Всего: нет |
Вся проблема в том, что В комбобоксе OnClick срабатывает только при выборе строки из выпадающего списка, а при просто клике ничего не происходит.
OnChange срабатывает также только при выборе строки из выпадающего списка Дело в том, что лдя удобства интерфейса в проге, нужно обработать именно щелчок, так как в Combobox.Text содержит значение которое редко бывает ошибочным и только иногда нужно выбрать другое значение из списка. Это сообщение отредактировал(а) Лиходей - 8.8.2008, 21:28 |
||||
|
|||||
| THandle |
|
|||
![]() Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 65 Всего: 372 |
Лиходей, Click выполняется при получении сообщения CBN_SELCHANGE, а это и есть выбор определенного пункта КомбоБокса.
|
|||
|
||||
| Exai1e |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 908 Регистрация: 3.12.2006 Где: Moscow Репутация: 2 Всего: 30 |
Хм, тогда понятно. Но логически (ИМХО) должен срабатывать при клике на контроле. Добавлено @ 23:04 Ну если не заполнено - это же не "итем селект" или что нить в этом роде. Помоему не очень правильно построено. Клик и есть клик - что должен срабатывать при нажатии на контроле. Хотя мб я и не прав, не спорю. Вам виднее Добавлено @ 23:06 на контроле == на области в которой он рисуется Это сообщение отредактировал(а) Exai1e - 8.8.2008, 23:06 -------------------- "Решение зависит от выбранного геморроя" © Snowy "у нас как в армии - либо работает, либо так и задумано" |
|||
|
||||
| THandle |
|
|||
![]() Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 65 Всего: 372 |
Можно было бы перекрыть WindowProc, отлавливая WM_LBUTTONDOWN, но ComboBox - это еще и скрытый Edit, поэтому нужно писать наследник...
Вот пример, он естественно просто показывает отлов сообщений и список выводить не будет. Можно перекрыть только EditWndProc, тогда список будет открываться по нажатию стрелочки, а при нажатии на поле будет 'Click'. Вот в общем пример:
Это сообщение отредактировал(а) THandle - 8.8.2008, 23:14 |
|||
|
||||
| Лиходей |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 25.5.2008 Репутация: нет Всего: нет |
При установке компонента выпадает ошибка - "метод EditWndProc не найден в базовом классе" Это сообщение отредактировал(а) Лиходей - 9.8.2008, 13:09 |
|||
|
||||
| THandle |
|
|||
![]() Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 65 Всего: 372 |
Лиходей, на 2007 все работало отлично.... На семерке уже нет, так как там по-другому объявлены EditWndProc, WndProc...
Можно глянуть на StdCtrls.pas от пятерки? Тут надо думать... Сейчас что-нибудь попробую сделать |
|||
|
||||
| Лиходей |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 25.5.2008 Репутация: нет Всего: нет |
Здесь StdCtrls.pas для D5 и D6. Благодарю за внимание к моей проблеме... Присоединённый файл ( Кол-во скачиваний: 4 )
stdctrls.rar 39,18 Kb |
|||
|
||||
| VICTAR |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 37 Всего: 80 |
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |