Форум: "Основная";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];
ВнизПри Application.Minimize оставляем одно окно в OnTop Найти похожие ветки
← →
Chlavik © (2004-03-11 03:40) [0]Делаю так ...
procedure TfmTrafficGraphic.CreateParams(var Params: TCreateParams);
begin
inherited;
Params.Style:=ds_setfont or ws_popup;
Params.ExStyle:=ws_ex_clientedge or ws_ex_dlgmodalframe or ws_ex_topmost;
end;
procedure TfmTrafficGraphic.WMShowWindow(var Message: TWMShowWindow);
begin
if Message.Status=SW_PARENTCLOSING then
SetWindowPos(Handle,HWND_TOPMOST,0,0,0,0,SWP_NOSIZE or SWP_NOMOVE);
// inherited
end;
procedure TfmTrafficGraphic.WMSysCommand(var Message: TWMSysCommand);
begin
if Message.CmdType<>SC_MINIMIZE then inherited;
end;
Через WMShowWindow я добился что бы окно оставалось в онтопе при сврчивании проги, но при клике на чужую прогу окно теряет ws_ex_topmost. Как с этим боротся ??? Это окно не главное окно программы и показывается не модально...
← →
Defunct © (2004-03-11 04:01) [1]Чудесно находится в OnTop, постоянно.
С приведенным Вами кодом, не главная форма не теряет ws_ex_topmost по клику на другую программу. Смотрите, может Вы где-то в коде сами убираете этот параметр.
← →
Chlavik © (2004-03-11 16:52) [2]Дедло в том что у мен стоял fsStayOnTop а Application выполняет
NormalizeTopMost НА данный момент самый оптимальный код который мен более менее подходит ..
procedure TfmTrafficGraphic.CreateParams(var Params: TCreateParams);
begin
//Self.FormStyle:=fsNormal;
inherited;
Params.WndParent:=Application.MainForm.Handle;
Params.Style:=ds_setfont or ws_popup;
Params.ExStyle:=ws_ex_clientedge or ws_ex_dlgmodalframe or ws_ex_topmost;
end;
procedure TfmTrafficGraphic.WMActivateApp(var Message: TWMActivateApp);
begin
if Message.Active then
begin//if Message.ThreadId=GetCurrentThreadId then
SetWindowPos(Handle,HWND_TOPMOST, 0,0,0,0,SWP_NOSIZE or SWP_NOMOVE);
// application. RestoreTopMosts;
// application.BringToFront;
end
else
begin
//application.BringToFront;
inherited;//}
end;
end;
Но если все это ддело вместе с какойто Модальной формой свернуть а потом развернуть то всё пашет нормально - TfmTrafficGraphic всегда поверх всех окон даже когда прога свёрнута, но модальная форма просто теряется позади главного окна после того как развараиваеш прогу.
← →
Chlavik © (2004-03-11 16:53) [3]Как правильно это сделать ??
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.03.28;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.033 c