Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.13;
Скачать: CL | DM;

Вниз

Динамическая форма   Найти похожие ветки 

 
Anatoliy P   (2002-12-30 17:47) [0]

Как создать динамически формы с кнопкой по которой формы можно закрывать(уничтожать)?


 
Mike Kouzmine   (2002-12-30 18:00) [1]

Создаешь форму в дизайне, в свойстах проекта делаешь ее не авто создаваемой и пишешь где надо
var
f : TTvojaForma
begin
f := TTvojaForma.Create(Self or Nil);
try
if F.ShowModal <> mrOk then
.....
finally
f.Free;
end;


 
Anatoliy P   (2002-12-30 18:05) [2]

Поясню, С основной формой все как обычно, по результатам работы нужно создать десяток (примерно) динамических форм со своими кнопками "Закрыть". Мой способ иногда выдает AV


 
Mike Kouzmine   (2002-12-30 18:10) [3]

Так опиши свой метод.


 
Anatoliy P   (2002-12-30 18:16) [4]


MyForm:=TForm.Create(nil);
MyForm.Parent :=nil;
MyForm.Name :="MyForm"+IntToStr(i)+IntToStr(j);
MyForm.Caption :=.... MyForm.Height :=300;
MyForm.Width :=300;

MyButton:=TSpeedButton.Create(MyForm);
MyButton.Parent:= MyForm;
MyButton.Name:= "MyButton"+ IntToStr(i)+IntToStr(j);
MyButton.Caption:="Ok"; MyButton.Flat:=True;
MyButton.Left:=20; MyButton.Top:=150; MyButton.Height:=25; MyButton.Width:=94;
MyButton.OnClick:=Form1.Button2Click;

MyForm.Position :=poDesktopCenter;
MyForm.Show;

В онклик

try

(Sender as TSpeedButton).Parent.Destroy ;

Except ;
End;


 
gsu ©   (2002-12-30 18:19) [5]

Destroy - Release


 
gsu ©   (2002-12-30 18:23) [6]

if sender is TSpeedButton
then ((sender as TSpeedButton).Owner as tForm).Release;


 
Anatoliy P   (2002-12-30 18:29) [7]

Это как?


 
gsu ©   (2002-12-30 18:30) [8]

что как ?


 
Anatoliy P   (2002-12-30 18:36) [9]

Это я про (30.12.02 18:19), Спасибо - работает!!!!


 
gsu ©   (2002-12-30 18:39) [10]

что б OnClose не пропустить, лучше так, а то в памяти форма останется
можешь проверить по screen.formscount

MyForm.onclose:=FormsClose;
MyButton.onClick:=ButtonsClick;


procedure TForm1.ButtonsClick(Sender: TObject);
begin
if sender is TspeedButton
then
((sender as tspeedbutton).Owner as tForm).Close;
end;

procedure TForm1.FormsClose(Sender: TObject; var Action: TCloseAction);
begin
(Sender as Tform).Release;
end;


 
gsu ©   (2002-12-30 18:40) [11]

в смысле останентся, если закрыть не кнопью



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

Текущий архив: 2003.01.13;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.019 c
3-36994
orion_st
2002-12-18 11:53
2003.01.13
Удаление записи через RxDBGrid


14-37274
hatchy
2002-12-25 15:10
2003.01.13
Незнаю какую тему писать.......


8-37224
MalkoLinge
2002-09-23 10:25
2003.01.13
Запись звука с микрофона !


1-37017
Vampirus
2003-01-01 21:30
2003.01.13
Список поддиректорий и файлов в некоторой директории


1-37195
Programist21
2002-12-20 13:57
2003.01.13
Как в ListView добавить...