Форум: "Начинающим";
Текущий архив: 2009.12.20;
Скачать: [xml.tar.bz2];
ВнизГраницы родительской формы для MDI Найти похожие ветки
← →
Keba (2009-10-31 15:50) [0]
type
TWmMoving = record
Msg: Cardinal;
fwSide: Cardinal;
lpRect: PRect;
Result: Integer;
end;
// Добавляем обработчик на небходимую форму в секцию private:
procedure WMMoving(var msg: TWMMoving); message WM_MOVING;
// Описываем обработчик так
procedure TForm1.WMMoving(var msg: TWMMoving);
var
r: TRect;
begin
r := Screen.WorkareaRect;
// сравниваем новую область формы в msg.lpRect^ с r и изменяем занчения при необходимости
if msg.lprect^.left < r.left then
OffsetRect(msg.lprect^, r.left - msg.lprect^.left, 0);
if msg.lprect^.top < r.top then
OffsetRect(msg.lprect^, 0, r.top - msg.lprect^.top);
if msg.lprect^.right > r.right then
OffsetRect(msg.lprect^, r.right - msg.lprect^.right, 0);
if msg.lprect^.bottom > r.bottom then
OffsetRect(msg.lprect^, 0, r.bottom - msg.lprect^.bottom);
inherited;
end;
Как этот код добавить MDI форме, чтобы границей было не окно виндовса, а родительская форма?
← →
AIK © (2009-10-31 16:50) [1]Вообще процедура кроме как обработки параметров переданной в msg: TWMMoving
Больше ничего не делает, и ответ на вопрос с этим огрызкам кода вряд ли получишь
Но логично предположить что ответ кроется гдето здесь:r := Screen.WorkareaRect;
> type
> TWmMoving = record
> Msg: Cardinal;
> fwSide: Cardinal;
> lpRect: PRect;
> Result: Integer;
> end;
А они для чего? Для красоты чтоли?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.12.20;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.004 c