Главная страница
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.038 c
4-1123746902
Huliganka
2005-08-11 11:55
2005.10.09
Вопрос: Как обновить рабочий стол (Desktop)?


1-1126790061
Leonid
2005-09-15 17:14
2005.10.09
Преобразование из Фортрана в Паскаль


9-1117325116
Dungeon
2005-05-29 04:05
2005.10.09
ОПРОС: Какая у Вас видеокарта?


14-1126882368
Lexer
2005-09-16 18:52
2005.10.09
Офис - не лучшее место для продуктивной работы.


5-1102603997
AdmeraL
2004-12-09 17:53
2005.10.09
TclientSocket .... TserverSocket