![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
MDI [D6, XP]
webpauk © (2008-02-12 15:51:00)Form1 - MDIForm
Form2 - MDIChild
как изменить область в которой находится Form2?
webpauk (2008-02-12 16:52:00) [1]Удалено модератором
webpauk (2008-02-12 16:51:00) [2]
> Игорь Шевченко © (12.02.08 16:48) [25]
ВО!!!!!
ketmar (2008-02-12 16:50:00) [3]Удалено модератором
Игорь Шевченко (2008-02-12 16:48:00) [4]
> у меня на форме нет вообще никаких компонентов...
А положить для ограничения не судьба ?
Или так:
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.
Palladin (2008-02-12 16:47:00) [5]что в общем то и ожидалось...
Palladin (2008-02-12 16:46:00) [6]
> [21] ketmar © (12.02.08 16:41)
ага... виндекапец... форма развернулась, но так и осталась под TPanel c Align=alClient :)
капшн только у MDIForm поменялся...
Palladin (2008-02-12 16:42:00) [7]фиг знает... сам не пробовал :)
ща...
ketmar (2008-02-12 16:41:00) [8]>[18] Palladin © (2008-02-12 16:40:00)
о. интересно. никогда не пробовал: а если кинуть панель и alClient ей, а потом MDI Child, и максимизировать — что будет? вендокапец? %-)
---
Understanding is not required. Only obedience.
Palladin (2008-02-12 16:41:00) [9]
> [17] webpauk © (12.02.08 16:40)
а вот придется кинуть TPanel c какимнибудь Align что бы уже на его Canvas выводить изображения
ketmar (2008-02-12 16:40:00) [10]>[16] webpauk © (2008-02-12 16:38:00)
а чем отличается одна клиентская область от другой, по-твоему?
---
Understanding is not required. Only obedience.
Palladin (2008-02-12 16:40:00) [11]
> [16] webpauk © (12.02.08 16:38)
а я те про чего? или тебе млин подробно разжывать надо?
определяет так же как и любой TControl закинутый на MDIForm с установленным свойством Client в alClient
webpauk (2008-02-12 16:40:00) [12]
> ketmar © (12.02.08 16:38) [15]
e метя есть форма, на Canvas которой я вывожу изоюражения (ну хочется мне так). Соответственно MdiChild нужно выводить так, чтобы изображения не закрывались
ketmar (2008-02-12 16:38:00) [13]>[13] webpauk © (2008-02-12 16:33:00)
может, ты опишешь не то, что тебе надо с окном, а для чего тебе это надо?
---
Understanding is not required. Only obedience.
webpauk (2008-02-12 16:38:00) [14]
> Palladin © (12.02.08 16:35) [14]
клиентскую область MDIForm!
> и как эту область переопределить.
Palladin (2008-02-12 16:35:00) [15]определяет так же как и любой TControl с Align=alClient
webpauk (2008-02-12 16:33:00) [16]вопрос собсно в том как MDIChild определяет клиентскую область и как эту область переопределить.
webpauk (2008-02-12 16:32:00) [17]
> Игорь Шевченко © (12.02.08 16:30) [11]
не оно
у меня на форме нет вообще никаких компонентов...
а насчет align - эт я уже писал...
Игорь Шевченко (2008-02-12 16:30:00) [18]
> хочу чтобы часть заняла...
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:27:00) [19]ну извините...
вопрос не того...
Palladin (2008-02-12 16:25:00) [20]ну направление очень даже верное, я вот только первоначального вопроса не понял... а так же общий смысл твоего возмущения...