Skillsoft Опубликовано 5 мая, 2015 Поделиться Опубликовано 5 мая, 2015 Здравствуйте. procedure TForm1.FormMouseEnter(Sender: TObject); begin end; procedure TForm1.FormMouseLeave(Sender: TObject); begin end; Скажите, как можно реализовать эти события в FireMonkey? Цитата Ссылка на комментарий
0 Alex7wrt Опубликовано 5 мая, 2015 Поделиться Опубликовано 5 мая, 2015 Может быть я Вас не совсем понял. Что значит реализовать? В FireMonkey Они есть. Событие OnMouseEnter происходит когда курсор мыши входит в область объекта, OnMouseLeave - когда покидает ее. Цитата Ссылка на комментарий
0 Skillsoft Опубликовано 5 мая, 2015 Автор Поделиться Опубликовано 5 мая, 2015 (изменено) Этих событий нет в форме: http://joxi.ru/vAWZXDkFQk472W Изменено 5 мая, 2015 пользователем Skillsoft Цитата Ссылка на комментарий
0 Alex7wrt Опубликовано 5 мая, 2015 Поделиться Опубликовано 5 мая, 2015 (изменено) Можно использовать событие OnMouseMove формы, в котором проверять если 0<=X<=Width и 0<=Y<=Height, то запускаете то, что должно происходить если курсор находится в пределах формы, иначе - если вне ее. Изменено 5 мая, 2015 пользователем Alex7wrt Цитата Ссылка на комментарий
0 Skillsoft Опубликовано 5 мая, 2015 Автор Поделиться Опубликовано 5 мая, 2015 Можно конечно и так, только не совсем корректно работает. Например, если у края формы стоит какой нибудь контрол, то при входе мыши в форму в этой области, нет сработки. В принципе это не столь кретично, но все же хотелось бы узнать как сделать событие onMouseEnter Цитата Ссылка на комментарий
0 Alex7wrt Опубликовано 5 мая, 2015 Поделиться Опубликовано 5 мая, 2015 (изменено) Если Вы создаете проект только под Windows, то можете использовать VLC. Там эти события формы присутствуют. А как эти события могут пригодиться в Android, если форма открывается на весь экран? Изменено 5 мая, 2015 пользователем Alex7wrt Цитата Ссылка на комментарий
0 Skillsoft Опубликовано 5 мая, 2015 Автор Поделиться Опубликовано 5 мая, 2015 (изменено) пробовал делать обработчик сам, ругается на CM_MOUSEENTER и CM_MOUSELEAVE, не могу найти в каком они классе. procedure CMMouseEnter (var message: TMessage); message CM_MOUSEENTER; procedure CMMouseLeave (var message: TMessage); message CM_MOUSELEAVE; Изменено 5 мая, 2015 пользователем Skillsoft Цитата Ссылка на комментарий
0 Alex7wrt Опубликовано 5 мая, 2015 Поделиться Опубликовано 5 мая, 2015 (изменено) пробовал делать обработчик сам, ругается на CM_MOUSEENTER и CM_MOUSELEAVE, не могу найти в каком они классе. procedure CMMouseEnter (var message: TMessage); message CM_MOUSEENTER; procedure CMMouseLeave (var message: TMessage); message CM_MOUSELEAVE; Это для VLC. Но в XE7 VLC эти события для формы реализованы. Изменено 5 мая, 2015 пользователем Alex7wrt Цитата Ссылка на комментарий
0 Skillsoft Опубликовано 5 мая, 2015 Автор Поделиться Опубликовано 5 мая, 2015 Я знаю, что это для VCL. У меня ХЕ7 и ХЕ8. Как это реализовать в FireMonkey? В каком классе находятся CM_MOUSEENTER и CM_MOUSELEAVE? Цитата Ссылка на комментарий
0 AndreyS Опубликовано 5 мая, 2015 Поделиться Опубликовано 5 мая, 2015 Мне кажется, что в FM этих сообщений просто нет. Я полагаю, что для обеспечения кроссплатформенности все системные события формы (да и других компонентов) реализованы где-то глубоко внутри платформы, а нам для обеспечения единого кода они выдаются просто так, с помощью "магии"))). Цитата Ссылка на комментарий
0 FIL Опубликовано 2 августа, 2015 Поделиться Опубликовано 2 августа, 2015 Можно бросить на форму Layout, растянуть его на всю форму и использовать его соответствующие события события. Цитата Ссылка на комментарий
Вопрос
Skillsoft
Здравствуйте.
Скажите, как можно реализовать эти события в FireMonkey?
Ссылка на комментарий
11 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.