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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.009 c
3-36917
viper
2002-12-17 09:07
2003.01.13
Как в DBGrid вывести в одном поле.....


14-37316
Сатир
2002-12-23 18:46
2003.01.13
завёлся троян


1-37054
tupoy
2003-01-02 22:54
2003.01.13
Шифрование


14-37353
Miwa
2002-12-24 15:41
2003.01.13
Контроль печати


1-37186
Spy X
2002-12-30 13:20
2003.01.13
Lpt





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