![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как запретить окну быть активным? [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