![]() |
|
Модераторы: Poseidon |
![]()
|
|
| Vorona |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 12.10.2004 Где: Украина, Днепропе тровск Репутация: нет Всего: 2 |
Прошу помощи в написании события OnMouseLeave для кнопки))) Новый компонет на основе кнопки создала, догадываюсь, что далее должен последовать код после
__published: тут
Еще предполагаю, что разрабатывать это событие надо на основе OnMouseMove... Но бог не наделил знаниями написать сам код...) Может можно достать как-то его из других компонентов, где есть такое событие? Если да, то как его достать?)) Это сообщение отредактировал(а) Vorona - 27.12.2006, 22:56 |
|||
|
||||
| Rockie |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 23.4.2006 Репутация: 13 Всего: 31 |
Vorona, Здесь задавал вопрос про Label со свойствами ссылки, SenkraD приводил похожий пример. Не совсем то что надо но должно помочь.
[недоглядел, исправил] Это сообщение отредактировал(а) Rockie - 28.12.2006, 07:06 -------------------- Чтобы иметь большой гардероб - надо иметь большой гардероб. |
|||
|
||||
| Vorona |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 12.10.2004 Где: Украина, Днепропе тровск Репутация: нет Всего: 2 |
Rockie,
Поможет 100 процентов, в крайнем случае его же и использую))) Можно только вопросиков пару - 1) Наш эдит в данной ситуации - наследник от кого? 2) Что такое TWndMethod, Messages::TMessage?? Приведу код для ясности
|
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 23 Всего: 459 |
Хочу немного уточнить. Сообщение CM_MOUSELEAVE не виндовое и генерится в VCL. У него есть проблемка, к сожалению часто при резких движениях мыши оно не срабатывает. Единственный надежный способ это перехват мышки вне формы, по всему экрану. Т.е. как только координаты ее вне указанного прямоугольника, то нужно генерить CM_MOUSELEAVE самостоятельно.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Rockie |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1143 Регистрация: 23.4.2006 Репутация: 13 Всего: 31 |
Vorona, какой именно эдит? Посмотреть, от чего отнаследован компонент, можно нажав f1 на компоненте на форме, а затем Hierarchy.
Для активного окна в Windows обрабатывается куча сообщений(например "перерисовывать окно", "проверить, не изменила ли местоположение мышь" и тд.) В VCL можно получить очередь сообщений отдельно для каждого контрола:
"Встраиваемся" в эту очередь сообщений, проверяем, находится ли мышь в поле метки, если надо обрабатываем и возвращаем контроль Windows. Кстати здесь очепятка, вместо OldLabelMethod должен быть OldLabelProc. -------------------- Чтобы иметь большой гардероб - надо иметь большой гардероб. |
|||
|
||||
| Vorona |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 12.10.2004 Где: Украина, Днепропе тровск Репутация: нет Всего: 2 |
Rockie,
Ок спасибо за инфу, буду пытаться разобраться, возможно (скорее всего) возникнет еще куча вопросов....)))
Я имела в виду кнопка alexeis1, Я чувствую, что настоялько плохо в этом всем разбираюсь, что не понимаю ваш пост Т.е. приведенный и обсуждаемый код может не всегда срабатывать? Надо перехватывать не те сообщения??... Не понимаю |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 23 Всего: 459 |
Попробуйте поставить компонент, у которого вы хотите перехватывать сообщение, на самый край формы. А в обработчике поставьте бряк. И еще желательно в настройках мыши поставить максимальную скорость. После этого наведите мышь на компонент и резко дергайте мышь, так чтобы она вышла за пределы формы. При таких условиях событие может и не наступить вообще. Это было замечено в делфи, но поскольку VCL у них общая, то и проблема должна быть общая. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Vorona |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 12.10.2004 Где: Украина, Днепропе тровск Репутация: нет Всего: 2 |
alexeis1,
Ну у меня ситуация на самом деле проще - это же не коммерческий проект, а всего-навсего лаба...) Поэтому лишь бы как-нибудь работало...) |
|||
|
||||
| Vorona |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 12.10.2004 Где: Украина, Днепропе тровск Репутация: нет Всего: 2 |
Стоп,я чего-то не понимаю..))) А разве этот код - это вообще код нового компонента??
Причем там форма вообще??? Мне надобно написать свой компонент, в палитру добавить... Форма - это ж уже потом... |
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |