Вниз
Скачать: CL | DM;

Изменение FormStyle при создании формы   Найти похожие ветки 

← →
sD ©   (2008-09-02 11:02) [0]

Здравствуйте! В моем приложение несколько форм, формы создаются при вызове. В некоторых случаях стиль форму необходим fsMDIChild, в других  форма должна быть модальной (а значит FormStyle= fsNormal). Изменять стиль формы во время создание не получается. Как быть?


← →
Юрий Зотов ©   (2008-09-02 11:12) [1]

В design-time проставьте fsNormal и создавайте форму невидимой, а после ее создания ставьте fsMDChild (если надо).


← →
sD ©   (2008-09-02 12:17) [2]

(при установке FormStyle:=fsMDIChild; автоматом устанавливается VertScrollBar-Visibale=true Visibale=true)

до создания:
FormStyle= fsNormal
VertScrollBar-Visibale=false
Visibale=false

1Вариант(ошибок нет,форма не показывается)

TAbout.Create(self);
About.FormStyle:=fsMDIChild;


2Вариант (ошибка, не может прочитать по некоторому  адресу)

TAbout.Create(self);
About.VertScrollBar.Visible:=true;
About.FormStyle:=fsMDIChild;
About.Visible:=true;


← →
clickmaker ©   (2008-09-02 12:21) [3]

> TAbout.Create(self);

а где присвоение About?


← →
Palladin ©   (2008-09-02 12:25) [4]

как это где, переменная About сама должна понять... логично же... ^)


← →
{RASkov} ©   (2008-09-02 12:28) [5]

> [2] sD ©   (02.09.08 12:17)

Знаешь анекдот про фанарь и алкаша, который ищет чего-то там где светлее. Так вот и ты:
Создал в никуда форму

> TAbout.Create(self);

А затем пытаешься работать с подходящей, но не инициализированной переменной About....
:о)


← →
clickmaker ©   (2008-09-02 12:29) [6]

> как это где, переменная About сама должна понять... логично
> же...

а в Д2009 не встроили подобную фичу?


← →
Юрий Зотов ©   (2008-09-02 13:54) [7]


type
 TFormKind = (fkUsual, fkModal, fkChild);

function CreateAndShowAboutForm(Owner: TComponent; FormKind: TFormKind): TAbout;
begin
 Result := TAbout.Create(Owner);
 try
   case FormKind of
     fkUsual:
       Result.Show;
     fkModal:
       Result.ShowModal;
     else
       Result.FormStyle := fsMDIChild
   end
 except
   Result.Free;
   raise
 end
end;



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.01 c
2-1220607629
lordalex
2008-09-05 13:40
2008.10.12
Старый добрый Excel


2-1220014157
Savek
2008-08-29 16:49
2008.10.12
Ошибка компилятора (!?)


1-1199816989
Wolf
2008-01-08 21:29
2008.10.12
Как установить лимит по времени на некую процедуру ?


15-1218900402
Andy BitOff
2008-08-16 19:26
2008.10.12
...примерно в сто тысяч раз большей скорости света


2-1220467385
Виталий_д
2008-09-03 22:43
2008.10.12
TTreeView.CustomSort




   Наверх