• 0
Авторизация  
Zyablik3000

OnMouseEnter срабатывает при каждом перемещении мыши по контролу

Вопросы

Здравствуйте!

procedure TForm3.Panel1MouseEnter(Sender: TObject);
begin
  ShowMessage('asdasd');
end;

Этот код срабатывает при каждом перемещении мыши по панели.

Проблема в том, что при этом срабатывает и событие MouseLeave.

Проверял на чистом проекте.

Как победить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 ответа на этот вопрос

  • 0

Так происходит потому что вы делаете проверку с помощью ShowMessage. При этом панель теряет фокус и любое движение мыши над ней снова вызывает OnMouseEnter.

Проверяйте так: добавьте на форму компонент TText  и в обработчике панели OnMouseEnter напишите:

    text1.Text:=text1.Text+#13+'asdasd';

Вы увидите, что событие срабатывает корректно

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Спасибо! Попробовал) Все получилось. Получается что Brakepoint в этих процедурах тоже ставить нельзя, иначе получится такой же эффект как с ShowMessage.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу