Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Потеря фокуса формой [D6, Win95/98, WinME, NT4, Win2k, WinXP]


-=GaLaN=- ©   (2002-03-23 19:19:00) 

Скажите, уважаемые, как организовать сабж? Т.е. обратать это событие. Надо сделать что-то вроде autohide в аське.


Anatoly Podgoretsky   (2002-03-25 20:48:00) [1]

Посмотри в хелпе тему TCustomForm.OnDeactivate и примечание к ней, там рассмотрены оба варианта потери фокуса формой, какой тебе нужен неясно, ты не конкретен.


-=GaLaN=-   (2002-03-25 16:02:00) [2]

Сенкс, попробую.. Просто непонятно, почему вызывается не один раз. И кстати, какие значения Msg принимает? Зачем оно нужно?


Malder   (2002-03-25 00:38:00) [3]

Сори. Запоздал с месагой =)

-=GaLaN=-, тебе что нужно то ? Если autohide - то пиши form1.hide. Если это вызовется четыре раза - ничего плохого не будет. Ну а хочешь - поставь флаг. Чтоб один раз скрыть, а потом флаг уже true и больше это не выпоняется...


Malder   (2002-03-25 00:31:00) [4]

Да, Бурундук прав.

Обьявляешь процедуру:

procedure WMKillFocus(var Msg: TMessage); message WM_KILLFOCUS;

в разделе Implementation реализуешь:

procedure Tform1.WMKillFocus ;
begin
form1.Hide ; // ну или что там тебе надо...
end;


-=GaLaN=-   (2002-03-24 23:53:00) [5]

Хм.. оно 3-4 раза обрабатывается вместо одного =(


Бурундук   (2002-03-24 23:34:00) [6]

Попробуй повесить обработчик на WM_KILLFOCUS

TForm1 = ...
procedure WMKillFocus(var Msg: TMessage); message WM_KILLFOCUS;
end;


-=GaLaN=-   (2002-03-24 23:17:00) [7]

OnDeactivate не работает.
Malder - а подробнее можно, я же ничего не понял.. =(


Бурундук   (2002-03-24 23:08:00) [8]

OnDeactivate


Malder   (2002-03-24 23:05:00) [9]

Обрабатывать событие нужно посылаемое при "утрате" фокуса. Какой нибудь LeaveFocus exitocus ... поищи, вообщем...


-=GaLaN=-   (2002-03-24 22:54:00) [10]

Дык у формы нет этих событий....


Doom   (2002-03-24 22:36:00) [11]

и OnExit


Doom   (2002-03-24 22:35:00) [12]

событие OnEnter


-=GaLaN=-   (2002-03-24 20:55:00) [13]

Ну мне нужно определить, когда форма теряет фокус. Application.Minimize - это самому свернуть форму. Как свернуть - я знаю, а как узнать, что форма потеряло фокус?


ppcat   (2002-03-24 20:13:00) [14]

Подробнее...


-=GaLaN=-   (2002-03-24 19:53:00) [15]

Не понял, причем здесь это?


ppcat   (2002-03-24 19:43:00) [16]

Application.Minimize;
Self.Hide;


-=GaLaN=-   (2002-03-24 19:08:00) [17]

А все-таки, может кто подскажет что-нибудь?


Наверх

Титульная страница Поиск, карта сайта Написать письмо