![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() Здравствуйте.
Такой вот вопрос. Есть функция, внутри нее создается форма строчкой AskForm:=TForm.Create(nil); Теперь нужно на этой AskForm создать пару элементов, например типа TLabel или TButton. Заранее спасибо за ответ. |
#2
|
||||
|
||||
![]() Код:
var AskButton:TButton; begin AskButton:=TButton.Create(AskForm); AskButton.Parent:=AskButton; AskButton.Caption:='Кнопка'; {далее идёт присвоение таких свойств как Left, Top, Height, Width и любое другое на твоё усмотрение} |
#3
|
|||
|
|||
![]() Большое спасибо.
Только наверное вместо: AskButton.Parent:=AskButton; Нужно AskButton.Parent:=AskForm; |
#4
|
|||
|
|||
![]() Теперь не могу допереть как обрабатывать события по нажатию этой кнопки. Т.е. в обычном случае то понятно - двойной клик на Event - OnClick и процедура новая появляется. Здесь эту процедуру нужно как-то самому писать?
Да, кстати после того как выполнение этой функции закончиться, все элементы на ней и сама форма прекращают свое существование? |
#5
|
|||
|
|||
![]() Цитата:
В объявлении класса AskForm надо записать: Код:
procedure DoButtonClick(Sender: TObject); В секции implementation реализацию этой процедуры: Код:
procedure AskForm.DoButtonClick(Sender: TObject); begin /// end; Код:
... AskButton.OnClick := DoButtonClick; ... Цитата:
Код:
AskForm.Free; Не забывайте делать резервные копии |
#6
|
|||
|
|||
![]() У меня форма объявляется так, внутри функции:
function AskYesNoRus(txt2: String):boolean; var AskForm:TForm; .... Не совсем понимаю что значит "В объявлении класса AskForm надо записать" сорри за глупые вопросы ![]() |