Форум: "KOL";
Текущий архив: 2007.11.11;
Скачать: [xml.tar.bz2];
ВнизСделать CenterOnParent Найти похожие ветки
← →
Rusya (2007-04-21 23:02) [0]Как сделать, чтобы одна панель была постоянно в центре формы?
Назначил обработчик OnResize для формы:
procedure TForm1.KOLFormResize(Sender: PObj);
begin
if Assigned(Panel1) then Panel1.CenterOnParent;
end;
но при Maximize и Restore не срабатывает :( При назначении этой же процедуры обработчиком OnRestore и OnMaximize тоже ничего не меняет.
Поскажите правильный способ, чтобы панель всегда была в центре формы?
← →
Compiler © (2007-04-22 11:59) [1]Попробуйте вот так
function TForm1.KOLForm1Message(var Msg: tagMSG; var Rslt: Integer): Boolean;
begin
result:=False;
case msg.message of
WM_SIZE:
case LoWord(msg.wParam) of
SIZE_RESTORED,
SIZE_MAXIMIZED:
if assigned(panel1) then Panel1.CenterOnParent;
end;
end;
end;
События SIZE_RESTORED, SIZE_MAXIMIZED происходят после того, как размер формы изменится.
← →
Rusya (2007-04-22 20:23) [2]
> Compiler © (22.04.07 11:59) [1]
Спасибо, все получилось. Убрал обработку события OnResize, и оставил обработку OnMessage в таком виде:
function TForm1.KOLForm1Message(var Msg: tagMSG; var Rslt: Integer): Boolean;
begin
Result:=False;
if msg.message = WM_SIZE then
if assigned(panel1) then Panel1.CenterOnParent;
end;
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2007.11.11;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.048 c