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

Вниз

Динамически создать три формы и для каждой свою кнопку   Найти похожие ветки 

 
Сергей   (2009-09-18 18:45) [0]

Господа,
нужно динамически создавать три формы с кнопками. Как вызвать обработчик динамически созданной кнопки?


 
{RASkov} ©   (2009-09-18 19:13) [1]

Перечитай свой вопрос и представь как на него можно ответить... без мата.


 
clickmaker ©   (2009-09-18 19:17) [2]

> Как вызвать обработчик динамически созданной кнопки?

как любой метод


 
Сергей   (2009-09-18 19:34) [3]

Но у ведь у кнопки еще нет имени (например button1)  Как мне к ней обратиться к ней из другой функции.


 
{RASkov} ©   (2009-09-18 19:38) [4]

> [3] Сергей   (18.09.09 19:34)

button1 - это не имя кнопки, а имя переменной(поля)...

Что ты уже сделал в своей задаче?


 
Сергей   (2009-09-18 19:55) [5]

procedure TForm1.Button5Click(Sender: TObject);
begin
NewForm(Form1);
NewButton(?????);
end;

function NewForm(Form1:TForm):TForm;
var F:TForm;
begin
 F:=TForm.Create(Form1);
 //formnumber:= formnumber+1; ?????
 //F.Name:="NewForm" + IntToStr(formnumber);
 F.Top:=20;
 F.Left:=10;
 F.Width:=40;
 F.Height:=50;
 F.Visible:=true;
 NewForm:=F;
end;

function NewButton(?????):TButton;
var B:TButton;
begin
 B:=TButton.Create(????);
 B.Name:="Button ????;
 B.Top:=20;
 B.Left:=10;
 B.Width:=10;
 B.Height:=20;
 B.Visible:=true;
 B.Parent:=?????(form);
 NewButton:=B;
end;


 
Жорж   (2009-09-18 19:57) [6]

Видимо, автор имеет ввиду, что не знает, как присвоить обработчик динамически созданной кнопке
это делается приблизительно так:

type
  TMyForm = class(TForm)
...
 public
 procedure ButtonClick(Sender: TObject);
 end;

...

procedure TMyForm.ButtonClick(Sender: TObject);
begin
 //Sender as TButton  - это указатель на кнопку
end;
...
var MyForm: TMyForm;
 

var
 B: TButton;

B:=TButton.Create(self);
B.OnClick:=MyForm.ButtonClick;


 
{RASkov} ©   (2009-09-18 20:20) [7]

> [5] Сергей   (18.09.09 19:55)
> NewButton(?????);

дык у тебя function NewForm(Form1:TForm):TForm; - функция, а используешь ее как процедуру, почему?
вот твой код:
procedure TForm1.Button5Click(Sender: TObject);
begin
 NewButton(NewForm(Form1));
end;

но если честно общее мнение по коду(по всему коду из [5]) - переделать.


 
Сергей   (2009-09-18 20:31) [8]

Согласен, но как? Может есть ссылка для моего случая?


 
{RASkov} ©   (2009-09-18 20:41) [9]

> [8] Сергей   (18.09.09 20:31)

поищи в яндексе или гугле "жизнь и смерть в run time" или прямо на королевстве это ищи
прямой ссылки у меня нет.


 
Сергей   (2009-09-18 20:45) [10]

ок. спасибо.



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

Форум: "Начинающим";
Текущий архив: 2009.11.08;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.006 c
11-1207718048
YuriyM
2008-04-09 09:14
2009.11.08
Выравнивание текста в TKolEditBox


2-1253771858
Knight
2009-09-24 09:57
2009.11.08
Можно снять изображение с формы как-то ещё кроме GetFormImage?


15-1252421115
Цвайштайн
2009-09-08 18:45
2009.11.08
в чем прикол?


2-1253086545
Роман
2009-09-16 11:35
2009.11.08
как работать с файлом мс прожект


15-1252669622
boriskb
2009-09-11 15:47
2009.11.08
Ты чо? Шибко умный?





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