Delphi и Ms Word
От: Karlson  
Дата: 07.03.03 08:47
Оценка:
Такая проблема: с формы запускается Ms Word и он становиться активным и перекрывает форму, нужно, чтобы форма была поверх всех окон. Stay on Top для формы не дает желаемого результата.
Re: Delphi и Ms Word
От: Slicer [Wirkwood] Россия https://ru.linkedin.com/in/maksim-gumerov-039a701b
Дата: 07.03.03 11:44
Оценка:
Здравствуйте, Karlson, Вы писали:

K>Такая проблема: с формы запускается Ms Word и он становиться активным и перекрывает форму, нужно, чтобы форма была поверх всех окон. Stay on Top для формы не дает желаемого результата.


По тому, что Вы написали, не совсем понятно, как именно запускается Word. Может сработать такое:

V:=CreateOleObject('Word.application');
... что-то делаем со скрытым приложением
V.visible:=true; //Если V — Variant
Application.MainForm.BringToFront;

Slicer.
Специалист — это варвар, невежество которого не всесторонне :)
Re[2]: Delphi и Ms Word
От: Karlson  
Дата: 08.03.03 18:05
Оценка:
Здравствуйте, Slicer [Wirkwood],

Уточняю, Ворд запускаю с дочерной формы, а главная скрыта и дочерная перекрывается Вордом
а если делать на главной то все окей
для вызова Ворда использую стандартные компоненты Application, Document
Re[3]: Delphi и Ms Word
От: Slicer [Wirkwood] Россия https://ru.linkedin.com/in/maksim-gumerov-039a701b
Дата: 09.03.03 11:15
Оценка:
Ну тогда примерно так:

procedure TForm2.Button1Click(Sender: TObject);
begin
WordApplication1.Connect;
WordApplication1.Visible:=true;
BringToFront;
end;

У меня работает. Если у Вас — нет, то, может, кусок кода приведете, который вызывает Word?

Slicer.
Специалист — это варвар, невежество которого не всесторонне :)
Re: Delphi и Ms Word
От: Аноним  
Дата: 10.03.03 13:51
Оценка:
Здравствуйте, Karlson, Вы писали:

K>Такая проблема: с формы запускается Ms Word и он становиться активным и перекрывает форму, нужно, чтобы форма была поверх всех окон. Stay on Top для формы не дает желаемого результата.



Запусти Ворд с флагом Invisible или пошли ему сообщение, которое его свернет
Re[2]: Delphi и Ms Word
От: Аноним  
Дата: 13.03.03 09:21
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Запусти Ворд с флагом Invisible или пошли ему сообщение, которое его свернет


Мне не нужно, чтобы оно было свернуто — мне нужно работать в Ворде, но чтобы форма постоянно висела над ним
Re[4]: Delphi и Ms Word
От: Karlson  
Дата: 13.03.03 09:24
Оценка:
Здравствуйте, Slicer [Wirkwood], Вы писали:

SW>Ну тогда примерно так:


SW>procedure TForm2.Button1Click(Sender: TObject);

SW>begin
SW> WordApplication1.Connect;
SW> WordApplication1.Visible:=true;
SW> BringToFront;
SW>end;

SW>У меня работает. Если у Вас — нет, то, может, кусок кода приведете, который вызывает Word?



Да при запуске Ворда форма стоит над ним, но когда активизируется Ворд (кликом мышки, например), то Ворд все равно перекрывает форму
Re[5]: Delphi и Ms Word
От: Slicer [Wirkwood] Россия https://ru.linkedin.com/in/maksim-gumerov-039a701b
Дата: 13.03.03 11:16
Оценка:
Ааа, ну так бы сразу и сказали!
Если Ваша форма — TheForm, то

SetWindowPos(TheForm.handle,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE or SWP_NOSIZE);

как раз и дает то, что надо.
А чтобы убрать, просто HWND_NOTOPMOST указать.

Slicer
Специалист — это варвар, невежество которого не всесторонне :)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.