Вниз
Скачать: CL | DM;

Две формы   Найти похожие ветки 

← →
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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.022 c
3-75082
Andriy Tysh
2003-11-28 10:49
2003.12.23
TreeView for DB


1-75202
DDA
2003-12-10 19:59
2003.12.23
Генераторо Случайных Чисел


1-75197
Viking
2003-12-10 15:17
2003.12.23
Главное MDI-окно в DLL. Возможно ли?


1-75265
Паша555
2003-12-09 22:31
2003.12.23
Какая функция вычисляет корень кубический????


1-75206
Sergey Litvin
2003-12-11 09:36
2003.12.23
Неявный опрос компонентов




   Наверх