Форум: "Начинающим";
Текущий архив: 2010.11.28;
Скачать: [xml.tar.bz2];
ВнизВсегда поверх остальных Найти похожие ветки
← →
NoSilence (2010-09-03 16:49) [0]Суть: в моем проекте есть главная форма, у которой FormStyle = fsNormal. Так же имеются другие формы, некоторые с FormStyle = fsStayOnTop. Проблема в, том что главная форма всегда поверх остальных окон. Даже если другие отображаются с .ShowModal;
Как уже пытался лечить: искал в Forms.pas строчки "HWND_TOP", "HWND_TOPMOST" и "SetForegraundWindow". Все эти сделал комментариями. Как следствие, окна с FormStyle = fsStayOnTop перестали быть поверх всех, но главная форма так и осталась.
Так же пытался убрать в всех форм стиль fsStayOnTop - 0 эмоций. Пытался по событии создания формы делать SetWindowLong ... без параметра topmost, опять же безрезультатно.
← →
NoSilence (2010-09-03 17:16) [1]Может быть и такое, что кто-то не понял сути вопроса.
Как ее сделать нормальной?
Потому что окно настроек, открывающееся с .showmodal, оказывается за формой и ничего дальше сделать невозможно. Так же окно не малых размеров, что затрудняет работу с другими приложениями.
Заранее спасибо. :)
← →
NoSilence (2010-09-04 13:39) [2]Причиной была функция:
procedure TNEvent.ChangPosition(var Msg: TWMWindowPosChanging);
begin
SetWindowPos(MahaonForm.ActiveForm, 0,
Left, Top, Width, Height, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
end;
вместо нуля там было HWND_TOPMOST
не знал, что это сообщение обрабатывается постоянно. думал, что вызывается только при:
SendMessage(Handle, WM_SYSCOMMAND, $F012, 0);
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2010.11.28;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.004 c