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




Вниз

Окно не становится активно при появлении 


Great   (2002-02-17 09:09) [0]

Проблема следующая: есть программка, главное окно которой пропадает и появляется по горячей клавише.
Если при пропадании с экрана окошко было активно, то и при следующем появлении на экран оно показывается активным.
Но если при пропадании с экрана оно было неактивным то и появляется оно тоже неактивное и приходится
шелкать мышью чтобы его активировать.

В WinXP помогла следующая комбинация:

procedure TForm1.FormShow(Sender: TObject);
begin
SendMessage(GetForegroundWindow(),WM_ACTIVATE,WA_INACTIVE,0);
SendMessage(MainForm.Handle,WM_ACTIVATE,WA_ACTIVE,0);
end;

но в Win98 ничего не помогает, пробовал SetActiveWindow, SetForegroundWindow и прочие.
Ничего не помогло как будто Win98 их игнорирует :(

Помогите, как сделать чтобы в ЛЮБОМ Windows окно при появлении на экран было активным
и имело фокус ввода!



Dimaond Cat   (2002-02-22 01:39) [1]

Попробуй ShowWindow



Great   (2002-02-24 09:38) [2]

Пробовал, не помогает



Song   (2002-02-24 10:20) [3]

procedure TForm23.FormShow(Sender: TObject);
Var Rect:TRect;
begin
GetWindowRect(Handle,Rect);
SetWindowPos(Handle,HWND_TOPMOST,Rect.Left,Rect.Top,Rect.Right-Rect.Left,Rect.Bottom-Rect.Top, SWP_SHOWWINDOW);
end;



VuDZ   (2002-02-24 12:36) [4]

это старый прикол win9x - надо сделать окно поверх всех типа модального, потом снять этот флажок, если я правильно помню...



Sasha9   (2002-02-24 13:28) [5]

Можно ещё
Form1.BringToFront;
Form1.SetFocus;




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




Наверх





Память: 0.72 MB
Время: 0.018 c
3-94263           Rail                  2002-04-07 16:05  2002.04.29  
Как показать последнюю ошибу при работе с БД через BDE


3-94336           Black-Grin            2002-04-05 22:35  2002.04.29  
Delphi 5,6 + Mysql


1-94482           VAleksey              2002-04-16 12:43  2002.04.29  
Обработка исключения


1-94460           Sergey Karagodin      2002-04-16 10:32  2002.04.29  
Дурацкий вопрос про TreeView


7-94588           Torn                  2002-01-31 09:12  2002.04.29  
Вход в сеть под Win98 автоматически без ввода пароля