Главная страница
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.089 c
14-1126728661
syte_ser78
2005-09-15 00:11
2005.10.09
Стоит ли апгрейдится?


8-1116596438
anat
2005-05-20 17:40
2005.10.09
openGL печать


3-1125059230
stud
2005-08-26 16:27
2005.10.09
OLE error 80040200 при повторном выполнении запроса


14-1126844828
Rentgen
2005-09-16 08:27
2005.10.09
COM1 -> Ethernet -> COMn


1-1126849785
john_mag
2005-09-16 09:49
2005.10.09
Rave Reports, QuickReport или MSWord, MSExcel?№1