Главная страница
    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.007 c
8-75269
D.J.Star
2003-08-26 13:02
2003.12.23
Вопроизведение звука в формате GSM.


14-75331
Knight
2003-11-25 23:33
2003.12.23
Кто какими сотовыми пользуется?


8-75276
GarryFV
2003-08-22 14:18
2003.12.23
Ищу компонент для рисования примитивной графики


1-75175
webpauk
2003-12-11 18:13
2003.12.23
Popup Parent


7-75420
volser
2003-10-16 23:37
2003.12.23
Опрос модема





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский