Главная страница
    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.46 MB
Время: 0.008 c
7-37399
Геннадий
2002-11-02 17:02
2003.01.13
Про DialUp...


6-37249
pdv
2002-11-09 11:09
2003.01.13
Как отключить инет на компе (инет подключен по локалке) ?


1-37213
jen_bond
2002-12-30 21:41
2003.01.13
Запись информации в ini


14-37377
Евгений Р.
2002-12-22 16:08
2003.01.13
Перекодировка Delphi->C++Builder


1-37107
Alxd
2003-01-02 22:46
2003.01.13
Как локализовать приложение?





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