Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/21: Рейтинг темы: голосов - 21, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 27.01.2011
Сообщений: 7
1

Потеря фокуса формой

02.02.2011, 11:54. Показов 4101. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Хочу как-то словить событие, когда курсор мыши уходит с формы.
Кроме как по таймеру определять позицию мыши на экране и сравнивать с координатами формы,
ничего другого пока в голову не приходит.

// Опытный программист на С++ легко решит любые, несуществующие в
// Паскале проблеммы.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.02.2011, 11:54
Ответы с готовыми решениями:

Потеря фокуса формы
form4.Visible:=true; form1.Enabled:=false; .......................................... ...

Потеря фокуса формой
"Антоним" события Activated, не подскажите?

Потеря формой фокуса
Как сделать чтоб моя форма теряла фокус, а активной становилась предыдущая активная программа.

Потеря фокуса datagridview
Добрый день. Существует datagridview, в котором хранится очень-очень много данных. datagridview...

3
Фрилансер
452 / 433 / 117
Регистрация: 01.06.2010
Сообщений: 1,314
02.02.2011, 12:12 2
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
procedure TForm1.FormDeactivate(Sender: TObject);
begin
  ReleaseCapture
end;
 
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
  If GetCapture=0 then SetCapture(Form1.Handle);
  if PtInRect(Rect(Form1.Left, Form1.Top, Form1.Left + Form1.Width, 
                                        Form1.Top + Form1.Height), ClientToScreen(Point(x, y))) 
    then Form1.Caption := 'Мышка на форме' 
    else Form1.Caption := 'Мышка за пределами формы'
end;
0
2184 / 1254 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
02.02.2011, 12:24 3
Delphi
1
procedure CMMouseLeave(var msg: TMessage); message CM_MOUSELEAVE;
процедура обрабатывается когда мышь покидает пределы формы

Добавлено через 15 секунд
Delphi
1
procedure CMMouseLeave(var msg: TMessage); message CM_MOUSELEAVE;
процедура обрабатывается когда мышь покидает пределы формы
0
0 / 0 / 0
Регистрация: 27.01.2011
Сообщений: 7
04.02.2011, 10:42  [ТС] 4
Цитата Сообщение от Mad_Dog Посмотреть сообщение
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
procedure TForm1.FormDeactivate(Sender: TObject);
begin
  ReleaseCapture
end;
 
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
  If GetCapture=0 then SetCapture(Form1.Handle);
  if PtInRect(Rect(Form1.Left, Form1.Top, Form1.Left + Form1.Width, 
                                        Form1.Top + Form1.Height), ClientToScreen(Point(x, y))) 
    then Form1.Caption := 'Мышка на форме' 
    else Form1.Caption := 'Мышка за пределами формы'
end;
Почти работает, но не для моего случая: на форме куча Timage, которые закрывают ее полностью
Может я что-то не так сделал? Могу код.

Добавлено через 1 минуту
Цитата Сообщение от anonimus Посмотреть сообщение
Delphi
1
procedure CMMouseLeave(var msg: TMessage); message CM_MOUSELEAVE;
процедура обрабатывается когда мышь покидает пределы формы

Добавлено через 15 секунд
Delphi
1
procedure CMMouseLeave(var msg: TMessage); message CM_MOUSELEAVE;
процедура обрабатывается когда мышь покидает пределы формы
Все хорошо, пока мышка не залазит на первый же из компонентов формы и тогда срабатывает CMMouseLeave, хоть реально мышь еще над формой
0
04.02.2011, 10:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.02.2011, 10:42
Помогаю со студенческими работами здесь

Потеря фокуса (HTML)
На форме поле ввода. С первого раза что-то туда ввести не получается, фокус перескакивает на конец...

Потеря Фокуса у формы
Необходимо что бы форма закрывалась по потери фокуса, сейчас это отлавливаю через...

MDI. Потеря фокуса
Добрый день! У меня возникла проблема с потерей фокуса по нажатии на кнопку ALT. В чем может быть...

Потеря фокуса StringGrid
Обьясните как лучше сделать откат изменений в ячейке StringGrid если был переход мышкой на другую...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru