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

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

Как запретить окну быть активным? [D6, Win2k, WinXP]


celestial ©   (2002-02-25 08:56:00) 

Чтоб невозможно было с помощью клавиатуры (и/или мышки) установить окно в фокус ввода. Только по hotkey, скажем, разрешить.
Или, как вариант, чтоб этот самый фокус сразу же терялся - передавался обратно тому окну, которое было верхним до воздействия. Какие могут быть тут подводные камни?

Спасибо за помощь и обсуждение!

P.S. Я пытался найти готовые ответ и дискуссии, но, обсуждается
всегда "обратная" задача.


Dimaond Cat   (2002-02-26 21:42:00) [1]

тогда уж надо и wm_activate перехватывать


Dimka Maslov   (2002-02-26 10:21:00) [2]

Перехватывай сообщение WM_MOUSEACTIVATE

type
TForm1 = class(TForm)
...
private
procedure WMMouseActivate(var Message: TMessage); message WM_MOUSEACTIVATE;
end;

...

procedure TForm1.WMMouseActivate(var Message: TMessage);
begin
inherited;
Message.Result:=MA_NOACTIVATE; // Запретить передачу фокуса окну
end;


Виктор Щербаков   (2002-02-26 10:17:00) [3]

EnableWindow(Form1.Handle, false);


Song   (2002-02-26 10:00:00) [4]

Как вариант на onShow этого окна переводить фокус на другое окно, но тогда открывать его по Show


Наверх

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