Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.03.09;
Скачать: [xml.tar.bz2];

Вниз

MDI   Найти похожие ветки 

 
webpauk ©   (2008-02-12 15:51) [0]

Form1 - MDIForm
Form2 - MDIChild

как изменить область в которой находится Form2?


 
Сергей М. ©   (2008-02-12 15:52) [1]

что есть "область" ?


 
webpauk ©   (2008-02-12 16:14) [2]

если на форме Form1 нет ничего - при Form2.windowState=wsMaximized, Form2 занимает всю клиентскую область Form1.


 
Palladin ©   (2008-02-12 16:16) [3]

у тебя явно с логикой проблема... максимизированная по твоему приказу форма не может занимать не всю предоставленную MDIForm область


 
ketmar ©   (2008-02-12 16:17) [4]

>[2] webpauk © (2008-02-12 16:14:00)
ты пришёл нам об этом рассказать? мы знаем.

---
Understanding is not required. Only obedience.


 
Palladin ©   (2008-02-12 16:18) [5]

это типа "я хочу что бы она заняла все, но не полностью"


 
ketmar ©   (2008-02-12 16:19) [6]

>[5] Palladin © (2008-02-12 16:18:00)
пусть заапрувит сначала. %-)

---
Understanding is not required. Only obedience.


 
webpauk ©   (2008-02-12 16:22) [7]

вот именно...
хочу чтобы часть заняла...


 
webpauk ©   (2008-02-12 16:24) [8]


> Palladin ©   (12.02.08 16:16) [3]

есть мысля...
если на форму набросать компонентов, align<>alNone, Form2 - занимает ту часть, которая не занята компонентами


 
Palladin ©   (2008-02-12 16:25) [9]

ну направление очень даже верное, я вот только первоначального вопроса не понял... а так же общий смысл твоего возмущения...


 
webpauk ©   (2008-02-12 16:27) [10]

ну извините...
вопрос не того...


 
Игорь Шевченко ©   (2008-02-12 16:30) [11]


> хочу чтобы часть заняла...


unit main;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, ExtCtrls, Menus;

type
 TForm1 = class(TForm)
   MainMenu1: TMainMenu;
   Panel1: TPanel;
   File1: TMenuItem;
   Exit1: TMenuItem;
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

end.


object Form1: TForm1
 Left = 0
 Top = 0
 Caption = "Form1"
 ClientHeight = 546
 ClientWidth = 676
 Color = clBtnFace
 Font.Charset = DEFAULT_CHARSET
 Font.Color = clWindowText
 Font.Height = -11
 Font.Name = "Tahoma"
 Font.Style = []
 FormStyle = fsMDIForm
 Menu = MainMenu1
 OldCreateOrder = False
 PixelsPerInch = 96
 TextHeight = 13
 object Panel1: TPanel
   Left = 0
   Top = 396
   Width = 676
   Height = 150
   Align = alBottom
   BevelInner = bvRaised
   BevelOuter = bvLowered
   Color = clBackground
   TabOrder = 0
 end
 object MainMenu1: TMainMenu
   Left = 172
   Top = 260
   object File1: TMenuItem
     Caption = "&File"
     object Exit1: TMenuItem
       Caption = "E&xit"
     end
   end
 end
end


unit Child;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs;

type
 TForm2 = class(TForm)
 end;

var
 Form2: TForm2;

implementation

{$R *.dfm}

end.


object Form2: TForm2
 Left = 0
 Top = 0
 Caption = "Form2"
 ClientHeight = 293
 ClientWidth = 426
 Color = clBtnFace
 Font.Charset = DEFAULT_CHARSET
 Font.Color = clWindowText
 Font.Height = -11
 Font.Name = "Tahoma"
 Font.Style = []
 FormStyle = fsMDIChild
 OldCreateOrder = False
 Visible = True
 PixelsPerInch = 96
 TextHeight = 13
end


program PartialMDIClient;

uses
 Forms,
 main in "main.pas" {Form1},
 Child in "Child.pas" {Form2};

{$R *.res}

begin
 Application.Initialize;
 Application.CreateForm(TForm1, Form1);
 Application.CreateForm(TForm2, Form2);
 Application.Run;
end.


Оно ?
MDI-Child не вылезает за границы mainmenu и панели снизу.


 
webpauk ©   (2008-02-12 16:32) [12]


> Игорь Шевченко ©   (12.02.08 16:30) [11]

не оно
у меня на форме нет вообще никаких компонентов...
а насчет align - эт я уже писал...


 
webpauk ©   (2008-02-12 16:33) [13]

вопрос собсно в том как MDIChild определяет клиентскую область и как эту область переопределить.


 
Palladin ©   (2008-02-12 16:35) [14]

определяет так же как и любой TControl с Align=alClient


 
ketmar ©   (2008-02-12 16:38) [15]

>[13] webpauk © (2008-02-12 16:33:00)
может, ты опишешь не то, что тебе надо с окном, а для чего тебе это надо?

---
Understanding is not required. Only obedience.


 
webpauk ©   (2008-02-12 16:38) [16]


> Palladin ©   (12.02.08 16:35) [14]


клиентскую область MDIForm!

>  и как эту область переопределить.


 
webpauk ©   (2008-02-12 16:40) [17]


> ketmar ©   (12.02.08 16:38) [15]


e метя есть форма, на Canvas которой я вывожу изоюражения (ну хочется мне так). Соответственно MdiChild нужно выводить так, чтобы изображения не закрывались


 
Palladin ©   (2008-02-12 16:40) [18]


> [16] webpauk ©   (12.02.08 16:38)

а я те про чего? или тебе млин подробно разжывать надо?
определяет так же как и любой TControl закинутый на MDIForm с установленным свойством Client в alClient


 
ketmar ©   (2008-02-12 16:40) [19]

>[16] webpauk © (2008-02-12 16:38:00)
а чем отличается одна клиентская область от другой, по-твоему?

---
Understanding is not required. Only obedience.


 
Palladin ©   (2008-02-12 16:41) [20]


> [17] webpauk ©   (12.02.08 16:40)

а вот придется кинуть TPanel c какимнибудь Align что бы уже на его Canvas выводить изображения


 
ketmar ©   (2008-02-12 16:41) [21]

>[18] Palladin © (2008-02-12 16:40:00)
о. интересно. никогда не пробовал: а если кинуть панель и alClient ей, а потом MDI Child, и максимизировать — что будет? вендокапец? %-)

---
Understanding is not required. Only obedience.


 
Palladin ©   (2008-02-12 16:42) [22]

фиг знает... сам не пробовал :)
ща...


 
Palladin ©   (2008-02-12 16:46) [23]


> [21] ketmar ©   (12.02.08 16:41)

ага... виндекапец... форма развернулась, но так и осталась под TPanel c Align=alClient :)

капшн только у MDIForm поменялся...


 
Palladin ©   (2008-02-12 16:47) [24]

что в общем то и ожидалось...


 
Игорь Шевченко ©   (2008-02-12 16:48) [25]


> у меня на форме нет вообще никаких компонентов...


А положить для ограничения не судьба ?

Или так:

unit main;

interface
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, Menus;

type
 TForm1 = class(TForm)
   MainMenu1: TMainMenu;
   File1: TMenuItem;
   Exit1: TMenuItem;
 protected
   procedure AlignControls(AControl: TControl; var Rect: TRect); override;
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.AlignControls(AControl: TControl; var Rect: TRect);
begin
 inherited;
 if ClientHandle <> 0 then
   SetWindowPos(ClientHandle, 0, 0, 0, (Width div 3) * 2, (Height div 3) * 2,
     SWP_NOZORDER or SWP_NOACTIVATE);
end;

end.


 
ketmar ©   (2008-02-12 16:50) [26]

Удалено модератором


 
webpauk ©   (2008-02-12 16:51) [27]


> Игорь Шевченко ©   (12.02.08 16:48) [25]

ВО!!!!!


 
webpauk ©   (2008-02-12 16:52) [28]

Удалено модератором



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.03.09;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.51 MB
Время: 0.049 c
2-1202478430
leonidus
2008-02-08 16:47
2008.03.09
Как отобразить процесс загрузки базы


3-1193051390
9899100
2007-10-22 15:09
2008.03.09
Oracle


3-1193052958
ora-01691
2007-10-22 15:35
2008.03.09
посмотреть свободное место


10-1143624416
pavel_guzhanov
2006-03-29 13:26
2008.03.09
Как изменить шрифт в excel


11-1184956052
=BuckLr=
2007-07-20 22:27
2008.03.09
Иконка апплета - проблема





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