![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Как программно создать кнопку?
![]() Иногда думаешь, что Фортуна тебе улыбнулась, а оказывается – ты её просто насмешил. ![]() |
#2
|
||||
|
||||
![]() Код:
uses StdCtrls; var b : TButton; procedure TForm1.FormCreate(Sender: TObject); begin b := TButton.Create(Self); b.Parent := Form1; // тут можно изменить свойства кнопки end; procedure TForm1.FormDestroy(Sender: TObject); begin b.Free; end; Не профи, но и не чайник ![]() ![]() |
#3
|
||||
|
||||
![]() Просто объявляешь переменную типа TButton. А затем выделяешь ей память вот так - tbutton.create(Self); Затем когда она будет не нужна освобождаешь память которую ты выделил для кнопки - Имя переменной.Free
|
#4
|
||||
|
||||
![]() moo2k еще надо указать компонент родитель, т.е. где будет раполагаться кнопка b.Parent := Form1. А если например написать b.Parent := Panel1 то кнопка появится не на форме, а на панели Panel1.
Не профи, но и не чайник ![]() ![]() |
#5
|
||||
|
||||
![]() Можно еще на WinAPI.
Код:
procedure TForm1.FormShow(Sender: TObject); var But: HWND; Fnt: HWND; begin Fnt:=CreateFont(-12, 0, 0, 0, 0, 0, 0, 0, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH or FF_DONTCARE, 'Terminal'); But:=CreateWindow('Button', 'ButtonName', WS_CHILD or BS_PUSHBUTTON or WS_VISIBLE, 2, 2, 100, 25, Handle, 2, HInstance, nil); SendMessage(But, WM_SETFONT, Fnt, 0); end; Что делать, когда сломался комп: 1. Если вы юзер - делать ноги. 2. Если ремонтник - делать деньги. 3. Если вы программист - делать вид, что так было задумано. |
#6
|
|||
|
|||
![]() Огромное спасибо
![]() Иногда думаешь, что Фортуна тебе улыбнулась, а оказывается – ты её просто насмешил. ![]() |
#7
|
|||
|
|||
![]() Вопрос! А если я не освобожу память и закрою программу она автоматом освободиться?
Иногда думаешь, что Фортуна тебе улыбнулась, а оказывается – ты её просто насмешил. ![]() |
#8
|
||||
|
||||
![]() Нет, надо обязательно самому удалять.
Не профи, но и не чайник ![]() ![]() |