Форум: "Основная";
Текущий архив: 2003.12.23;
Скачать: [xml.tar.bz2];
ВнизДве формы Найти похожие ветки
← →
Alex-chainik (2003-12-10 14:41) [0]Приложение SDI
Первая форма:
Основная форма с ограниченными размерами.
Находиться верху экрана, допустим Align=alTop
Пример форма в Delphi с инчтрументальной панелью.
Вторая форма:
Создается либо показываеься по нажатию кнопки.
Пример Delphi - рабочая область.
Нужно:
Чтобы при нажатии на кнопку Maximize во второй форме Она увеличивалась Верх до формы первой
низ до TaskBar-а
Пример Delphi - рабочая область.
При повторном нажатии возвращалась в исходное положение и размеры.
← →
Stas (2003-12-10 14:49) [1]form2.top=form1.top+height;
form2.left:=form1.left;
form2.height:=Screen.height-form1.height-(высота таскбара)
← →
Alex-chainik (2003-12-10 14:59) [2]в какое событие?
Третья строка не правильна, посмотри в delphi IDE как работает
я встречал несколько таких приложений, работающих подобно, поэтомы заинтересовался.
И при повторном нажатии, нужно чтобы возвращалось к исходным размерам и положению
← →
sokohigh (2003-12-10 15:55) [3]interface
{MainForm}
property VirtualClientRect: TRect read GetVirtualClientRect;
{ChildForm}
procedure WMGetMinMaxInfo(var Msg: TMessage); message WM_GETMINMAXINFO;
implementation
{MainForm}
function TMainForm.GetVirtualClientRect: TRect;
begin
with Result do begin
Top := Self.Top + Self.Height;
Left := Self.Left;
Right := Left + Self.Width;
Bottom := Screen.Height;
end;
end;
{ChildForm}
procedure TChildForm1.WMGetMinMaxInfo(var Msg: TMessage);
var
pmimai: PMinMaxInfo;
begin
pmimai := PMinMaxInfo(Msg.LParam);
with pmimai^, TMainForm1(Application.MainForm).VirtualClientRect do begin
ptMaxSize.X := Right - Left;
ptMaxSize.Y := Bottom - Top;
ptMaxPosition.X := Left;
ptMaxPosition.Y := Top;
end
;
end;
← →
Alex-chainik (2003-12-10 18:21) [4]Ругается на эту строку
property VirtualClientRect: TRect read GetVirtualClientRect;
Field or method identifier expected
← →
sokohigh (2003-12-10 19:19) [5]Можно не делать свойство. Достаточно у главной формы создать в секции public функцию GetVirtualClientRect согласно приведенному коду и в WMGetMinMaxInfo сказать:
... TMainForm1(Application.MainForm).GetVirtualClientRect ...
← →
Alex-chainik (2003-12-11 19:49) [6]Спасибо, разобрался
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.12.23;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c