Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.15;
Скачать: CL | DM;

Вниз

Позиии приложений   Найти похожие ветки 

 
liavik   (2006-05-30 17:47) [0]

Мое приложение FormStyle = fsStayOnTop. При запуске из моей проги чужой программы делаю SetWindowPos (чуж.прг, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE+SWP_NOSIZE); Форма загружается поверх моего. Между формами можно переключаться, именно этого эффекта я и добивлся. Но при открытии у нее дочерних модальных форм она уходит за мою и  досвиданья... Как этого избежать?


 
antonn ©   (2006-05-30 17:49) [1]

вызывать

> SetWindowPos (чуж.прг, HWND_TOPMOST, 0, 0, 0, 0,
> SWP_NOMOVE+SWP_NOSIZE);

несколько раз.


 
liavik   (2006-05-30 18:06) [2]

Вот код:

procedure TFormDDEPR.ReadWin20001Click(Sender: TObject);
var err: integer;
   h: thandle;
begin
// если чуж. прога уже загружена, то ее на передний план...
h:= FindWindow("Tdlg_Main", nil);
if h > 0 then begin
   SetWindowPos (h, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE+SWP_NOSIZE);
   exit;
end;
// сообственно ее запускаем
err:= WinExec(PChar("C:\Program Files\Endress+Hauser\ReadWin32\ReadWin32.exe"), SW_SHOWNORMAL);
if err < 32 then begin
   MessageDlg("Ошибка запуска ReadWin2000. Проверьте наличие программы" +#10#13+ "C:\Program Files\Endress+Hauser\ReadWin32\ReadWin32.exe", mtError, [mbOK], 0);
   exit;
end;

h:= FindWindow("Tdlg_Main", nil);
if h > 0 then begin
  SetWindowPos (h, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE+SWP_NOSIZE);
//  SetWindowPos (Handle, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE+SWP_NOSIZE);
// если раскомент. то в принципе все работает как надо, НО
// мое приложение становиться не  TOPMOST, и юзера могут играть в "косынку" :)
end;
end;



Страницы: 1 вся ветка

Текущий архив: 2006.10.15;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.029 c
15-1159286396
Михель
2006-09-26 19:59
2006.10.15
А как делаются отправлялки смсок, кто-нибудь знает?


4-1148996843
liavik
2006-05-30 17:47
2006.10.15
Позиии приложений


2-1159184607
TrainerOfDolphins
2006-09-25 15:43
2006.10.15
Файлы DDP. Delphi 7


1-1156933031
ссщн
2006-08-30 14:17
2006.10.15
Как убрать "моргание" TabSheet`а когда кидаю на него компонент?


1-1157456812
dracula
2006-09-05 15:46
2006.10.15
Как сохранить компонент в регистре? А потом его загрузить.