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

Вниз

Вывод окна приложения-сервера на передний план   Найти похожие ветки 

 
Vlash   (2005-01-13 10:09) [0]

Доброго времени суток.
Устал искать решение проблемы (на этом форуме точно не нашел):

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

Когда в клиенте я нажимаю кнопку "Выбор" на сервере открывается новая форма. Мне нужно, чтобы в этот момент сервер стал активным, а точнее вновь созданная форма, а то она перекрывается окном клиента и по дереву элементов бегать сразу не получается... :( Приходится вручную переходить к серверу.

Пробовал так (у сервера в функции, которая передает идентификатор клиенту):
 Application.BringToFront;
 Application.createform(TDBDialog,DBDialog);

В строке состояния заголовок окна сервера мигает, но созданная форма на передний план не выходит :(

А потом, после выбора, хотелось бы, чтобы окно сервера сворачивалось или уходило на задний план (под окно клиента).


 
Erik1 ©   (2005-01-13 11:57) [1]

Например я делел так:
procedure TfCardReader.FormCreate(Sender: TObject);
begin
//SystemParametersInfo(SPI_SETFOREGROUNDLOCKTIMEOUT, 0, nil, SPIF_SENDWININICHANGE or PIF_UPDATEINIFILE);

 Application.OnDeactivate := ReShow;
 Application.OnMinimize := ReShow;
end;

procedure TfCardReader.ReShow(Sender: TObject);
begin
 if IsIconic(Handle) then
    ShowWindow(Handle,SW_SHOWNORMAL);

 SetWindowPos(Handle, HWND_TOP, Left, Top, Width,     Height, SWP_SHOWWINDOW); //SWP_NOMOVE or SWP_NOSIZE SHOWWINDOW
 SetForegroundWindow(Handle);
end;
Думаю тебе этого хватит. Если мало то есть еще AttachThreadInput


 
Vlash   (2005-01-13 12:23) [2]

Эххх. Таки через API и хэндлы :(
Не совсем эту технологию воспринимаю, ну ничего ;)
Спасибо, буду делать так...



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

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

Наверх




Память: 0.47 MB
Время: 0.04 c
6-1118676712
incX
2005-06-13 19:31
2005.10.09
Проблемы с Indy 10


2-1125584083
Ксардас
2005-09-01 18:14
2005.10.09
Lines в memo


4-1123670306
Urgen
2005-08-10 14:38
2005.10.09
Service


8-1114110608
clampo
2005-04-21 23:10
2005.10.09
Плейлист


6-1118900084
lightix
2005-06-16 09:34
2005.10.09
Отправка e-mail с помощью INDY:как получить MSGID письма?