Форум: "Corba";
Текущий архив: 2005.10.09;
Скачать: [xml.tar.bz2];
ВнизВывод окна приложения-сервера на передний план Найти похожие ветки
← →
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 вся ветка
Форум: "Corba";
Текущий архив: 2005.10.09;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.015 c