Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];




Вниз

Как запретить окну быть активным? 


celestial   (2002-02-25 08:56) [0]

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

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

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



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

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



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

EnableWindow(Form1.Handle, false);



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

Перехватывай сообщение 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;



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

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




Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.74 MB
Время: 0.043 c
14-94545          kaif                  2002-03-21 23:45  2002.04.29  
Кто какие предложения вынужден отвергать?


14-94568          tovSuhov              2002-03-25 08:53  2002.04.29  
Этот злобный Виндовс...


1-94361           ALM                   2002-04-17 12:51  2002.04.29  
Странное дело, однако...


1-94389           masik                 2002-04-17 13:56  2002.04.29  
HTML Editor


1-94415           ymin                  2002-04-17 17:36  2002.04.29  
закрытие программы