Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 09.09.2007, 15:30
killerkill killerkill вне форума
Новичок
 
Регистрация: 07.07.2007
Сообщения: 86
Репутация: 10
По умолчанию Как программно создать кнопку?

Как программно создать кнопку?
__________________
Иногда думаешь, что Фортуна тебе улыбнулась, а оказывается – ты её просто насмешил.
Ответить с цитированием
  #2  
Старый 09.09.2007, 16:00
Аватар для zip000
zip000 zip000 вне форума
Начинающий
 
Регистрация: 24.07.2007
Сообщения: 194
Репутация: 25
По умолчанию

Код:
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;
__________________
Не профи, но и не чайник . D6 - лучше не придумали. Пока.
Ответить с цитированием
  #3  
Старый 09.09.2007, 19:46
Аватар для moo2k
moo2k moo2k вне форума
Активный
 
Регистрация: 05.12.2006
Адрес: где-то там...
Сообщения: 321
Репутация: 35
Хорошо

Просто объявляешь переменную типа TButton. А затем выделяешь ей память вот так - tbutton.create(Self); Затем когда она будет не нужна освобождаешь память которую ты выделил для кнопки - Имя переменной.Free
Ответить с цитированием
  #4  
Старый 09.09.2007, 23:29
Аватар для zip000
zip000 zip000 вне форума
Начинающий
 
Регистрация: 24.07.2007
Сообщения: 194
Репутация: 25
По умолчанию

moo2k еще надо указать компонент родитель, т.е. где будет раполагаться кнопка b.Parent := Form1. А если например написать b.Parent := Panel1 то кнопка появится не на форме, а на панели Panel1.
__________________
Не профи, но и не чайник . D6 - лучше не придумали. Пока.
Ответить с цитированием
  #5  
Старый 10.09.2007, 12:49
Аватар для The Shadow
The Shadow The Shadow вне форума
Продвинутый
 
Регистрация: 11.06.2007
Адрес: Уфа, Россия
Сообщения: 793
Репутация: 35
По умолчанию

Можно еще на 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  
Старый 10.09.2007, 19:27
killerkill killerkill вне форума
Новичок
 
Регистрация: 07.07.2007
Сообщения: 86
Репутация: 10
По умолчанию

Огромное спасибо
__________________
Иногда думаешь, что Фортуна тебе улыбнулась, а оказывается – ты её просто насмешил.
Ответить с цитированием
  #7  
Старый 10.09.2007, 19:29
killerkill killerkill вне форума
Новичок
 
Регистрация: 07.07.2007
Сообщения: 86
Репутация: 10
По умолчанию

Вопрос! А если я не освобожу память и закрою программу она автоматом освободиться?
__________________
Иногда думаешь, что Фортуна тебе улыбнулась, а оказывается – ты её просто насмешил.
Ответить с цитированием
  #8  
Старый 10.09.2007, 23:38
Аватар для zip000
zip000 zip000 вне форума
Начинающий
 
Регистрация: 24.07.2007
Сообщения: 194
Репутация: 25
По умолчанию

Нет, надо обязательно самому удалять.
__________________
Не профи, но и не чайник . D6 - лучше не придумали. Пока.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:39.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025