![]() |
|
|
|
|
#1
|
||||
|
||||
|
Всем доброе, люди пару повросов:
Вызываю дочернее окно MDI приложения: Код:
var KLJ: TKl_journal; begin KLJ := TKl_journal.Create(Application); Klj.WindowState:=wsMaximized; end; 1) Как узнать в последующем что окно созданно что бы не вызывать его ещё раз? 2) Если таким же методом вызывать 2 е дочернее окно то первое почемуто принимает WindowState:=wsNormal, подскажите как с этим бороться? |
|
#2
|
||||
|
||||
|
Код:
type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
Add1: TMenuItem;
Windows1: TMenuItem;
N1: TMenuItem;
AddwithCheck1: TMenuItem;
procedure Add1Click(Sender: TObject);
procedure AddwithCheck1Click(Sender: TObject);
uses Unit2;
procedure TForm1.Add1Click(Sender: TObject);
begin
with TForm2.Create(Application) do
begin
WindowState:=wsMaximized;
Caption:=IntToStr(GetTickCount);
Show;
end;
end;
procedure TForm1.AddwithCheck1Click(Sender: TObject);
begin
if Application.FindComponent('Form2')<>nil then Exit;
with TForm2.Create(Application) do
begin
WindowState:=wsMaximized;
Caption:=IntToStr(GetTickCount);
Show;
end;
end;http://data.cod.ru/126495 |
|
#3
|
||||
|
||||
|
Спасибо, то что нужно, а по второму вопросу не подскажешь?
|
|
#4
|
||||
|
||||
|
exe по ссылке запускал? не подтверждено это:
Цитата:
|
|
#5
|
||||
|
||||
|
ой стоп немного соврал по пункту 2:
первое дочернее запускаем: Код:
var KLJ: TKl_journal; begin KLJ := TKl_journal.Create(Application); Klj.WindowState:=wsMaximized; end; а потом из 1 дочернего запускаем второе Код:
var KLJ: TKl_journal; begin KLJ := TKl_journal.Create(Application); Klj.WindowState:=wsNormal; end; |
|
#6
|
||||
|
||||
|
имхо, все fsMDIChild имеют одно значение WindowState. можно через Constraints задать MinWidth и MinHeight.
|