|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.12.2015, 09:01 | #1 |
Регистрация: 06.08.2007
Сообщений: 6
|
Как сделать чтобы окно закрывалось только после покидания курсором внешних границ окна
Окно - всплывает при определённом событии
Hint.Visible:= True; На окне - на Hint есть другие элементы, а на их, возможно, ещё. Надо, чтобы Hint.Visible:= False; получалось только после покидания курсором внешних границ окна. OnMouseLeave происходит и когда курсор находится на элементе, находящемся на Hint - е, т.е. при потере фокуса. А надо, чтобы при данном потере фокуса Hint.Visible:= True; Hint состоит из регионов - сложная форма. Несмотря на это понимает OnMouseLeave. Но если проследить за координатами в HintControl.MouseMove(Shift: TShiftState; X, Y: Integer); if (X < Left) or (Y < Top) or (X > Left + Width) or (Y > Top + Height) then Visible:= False; то не понимает регионов, а понимает только прямоугольник. Помогите, пожалуйста. Последний раз редактировалось Николаич; 16.12.2015 в 09:13. Причина: Дополнение |
16.12.2015, 10:14 | #2 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,656
|
а ты, хоть по таймеру, проверяй, попадает курсор внутрь окна или нет.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
16.12.2015, 12:25 | #3 |
Регистрация: 06.08.2007
Сообщений: 6
|
|
16.12.2015, 12:28 | #4 | |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,656
|
Цитата:
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
|
16.12.2015, 13:00 | #5 |
Регистрация: 06.08.2007
Сообщений: 6
|
HintControl.MouseMove(Shift: TShiftState; X, Y: Integer);
if (X < Left) or (Y < Top) or (X > Left + Width) or (Y > Top + Height) then Visible:= False; |
16.12.2015, 13:51 | #6 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,656
|
Напиши себе функцию выяснения факта попадания точки курсора в твой многоугольник. Не можешь сам - укради готовую.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Что делать чтобы консольное окно не закрывалось? | Аллаберди | Visual C++ | 6 | 19.08.2014 06:24 |
как сделать так чтобы входить в оперу или хром только после введения пароля? [блондинка в шоке] | sephia | Помощь студентам | 1 | 10.03.2012 21:22 |
Как сделать, чтобы после нажатия кнопки выводилось нужное мне окно? | phantasmagoria | Помощь студентам | 5 | 28.04.2011 23:43 |
Хочу, чтобы окно не закрывалось после выполнения программы | fs444 | Общие вопросы C/C++ | 7 | 22.09.2009 16:42 |
КАК СДЕЛАТЬ ТАК ЧТОБЫ ВСЕ КОМПОНЕНТЫ КОТ. НА ФОРМЕ РАСТЯГИВАЛИСЬ НА ВСЁ ОКНО ПРИ РАЗВЁОТЫВАНИЕ ОКНА???? | Alexij | Общие вопросы Delphi | 4 | 23.06.2008 10:44 |