Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.027 c
1-1126905214
Doplhin1
2005-09-17 01:13
2005.10.09
Error 1400


6-1118748923
atmospheric
2005-06-14 15:35
2005.10.09
Отправка сообщения конкретному клиенту?


8-1116236550
slim
2005-05-16 13:42
2005.10.09
DirectDraw поверхность на втором мониторе


4-1123743511
Ботвин Дмитрий
2005-08-11 10:58
2005.10.09
Раздел импорта ехе-файла


2-1125370412
The Sound
2005-08-30 06:53
2005.10.09
String TO PAnsiChar




   Наверх