Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.009 c
14-75354
qwerty_
2003-11-29 22:13
2003.12.23
автор доумента Word


14-75314
Учимся
2003-12-01 19:47
2003.12.23
Сформировать массив и упорядочить


7-75424
ncux
2003-09-13 12:40
2003.12.23
shotdown сидюка


14-75360
Bucks
2003-11-28 17:56
2003.12.23
как узнать свой почтовый адрес


7-75437
SlavaZ
2003-10-21 09:22
2003.12.23
Запись CD





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский