Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.06.2007, 10:36   #1
А. Долматов
Форумчанин
 
Аватар для А. Долматов
 
Регистрация: 15.02.2007
Сообщений: 183
Радость создание своей кнопки

Народ, много читал о создании компонентов и объектов, но непонимаю как это правильно делать. Хочу создать первую свою кнопку, но что-то не получется разобраться с событием create. Подскажите как это делается. В справке только общее написано даже примера нет. Я хочу создать кнопку по нажатию на другую кнопку. Положение на форме не важно, главное для меня смысл понять как это делается.
Знать все невозможно, в силу того, что жить бы стало неинтересно.
А. Долматов вне форума Ответить с цитированием
Старый 29.06.2007, 12:08   #2
strannik
python developer
Пользователь Подтвердите свой е-майл
 
Аватар для strannik
 
Регистрация: 30.11.2006
Сообщений: 81
Сообщение

Пробуй так:
в type вставь
TControlClass = class of TControl;
...
далее по нажатию кнопки:
procedure TForm1.Button1Click(Sender: TObject);
var
Ref : TControlClass;
inst: TControl;
begin
Ref:=TControlClass(TButton);
inst:=ref.Create(Self);
inst.Parent:=self;
inst.Left:=50;
inst.Top:=100;
end;
Границы расширяет тот, кто выходит за них.
strannik вне форума Ответить с цитированием
Старый 29.06.2007, 12:47   #3
А. Долматов
Форумчанин
 
Аватар для А. Долматов
 
Регистрация: 15.02.2007
Сообщений: 183
По умолчанию

Спасибо. Получилось. Но один вопрос, почему нет свойсва caption?
Знать все невозможно, в силу того, что жить бы стало неинтересно.

Последний раз редактировалось А. Долматов; 29.06.2007 в 12:59.
А. Долматов вне форума Ответить с цитированием
Старый 08.08.2007, 13:17   #4
Pitbull
детский тренер
Форумчанин
 
Аватар для Pitbull
 
Регистрация: 08.06.2007
Сообщений: 532
По умолчанию

Цитата:
Сообщение от А. Долматов Посмотреть сообщение
Спасибо. Получилось. Но один вопрос, почему нет свойсва caption?

inst.Name :='Имя';
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
Pitbull вне форума Ответить с цитированием
Старый 08.08.2007, 13:21   #5
ZhekON
Форумчанин
 
Аватар для ZhekON
 
Регистрация: 24.01.2007
Сообщений: 323
По умолчанию

вот нашол статейку по создании кнопки : http://softsl.com/Pagsect-4.html
Всё проще чем вы думаете, нужно только правильно подойти к тому или иному вопросу?
ZhekON вне форума Ответить с цитированием
Старый 09.08.2007, 18:44   #6
t3ns0r
Пользователь
 
Аватар для t3ns0r
 
Регистрация: 23.07.2007
Сообщений: 20
По умолчанию

Цитата:
Сообщение от strannik Посмотреть сообщение
Пробуй так:
в type вставь
TControlClass = class of TControl;
...
далее по нажатию кнопки:
procedure TForm1.Button1Click(Sender: TObject);
var
Ref : TControlClass;
inst: TControl;
begin
Ref:=TControlClass(TButton);
inst:=ref.Create(Self);
inst.Parent:=self;
inst.Left:=50;
inst.Top:=100;
end;
попробовал создать таким образом TImage, используя TGraphicControl,
но у него почему-то не было свойства Picture. Как исправить?
t3ns0r вне форума Ответить с цитированием
Старый 09.08.2007, 21:22   #7
Showy
Форумчанин Подтвердите свой е-майл
 
Аватар для Showy
 
Регистрация: 08.08.2007
Сообщений: 183
Сообщение

...
var
btn:Tbutton;
begin
btn:=TButton.create(form1);
btn.left:=0;
btn.top:=0;
btn.width:=75;
btn.height:=25;
btn.caption:='Button';
form1.insertcontrol(btn);
end;
...

На все другие компоненты точно так же.
Until The End Of Time
Showy вне форума Ответить с цитированием
Старый 27.08.2007, 16:22   #8
SereJa1020
Пользователь
 
Регистрация: 23.08.2007
Сообщений: 16
По умолчанию

А вот например код, который добавляеь кнопку по щелчку мыши на форму:

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftSpace; X, Y: Integer);
var
Btn: TButton;
begin
Btn := TButton.Create(Self);
Btn.Parent := Self;
Btn.Left := X;
Btn.Top := Y;
Btn.Width := Btn.Width + 50;
end;
SereJa1020 вне форума Ответить с цитированием
Старый 27.08.2007, 17:54   #9
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

Цитата:
попробовал создать таким образом TImage, используя TGraphicControl,
но у него почему-то не было свойства Picture. Как исправить?
Можно так:
В uses не забудьте добавить ExtCtrls
Код:
procedure TForm1.Button1Click(Sender: TObject);
var image:Timage;
begin
image:=Timage.create(form1);
image.left:=100;
image.top:=100;
image.width:=75;
image.height:=25;
image.AutoSize:=true;
image.Picture.LoadFromFile('C:\111.bmp');
form1.insertcontrol(image);
end;
zetrix вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание кнопки в панели задач Trim Общие вопросы Delphi 14 01.08.2010 16:37
Создание своей сводной таблицы... Bu$ter Microsoft Office Excel 4 17.06.2008 14:30
Создание кнопки зная HWND окна(рабочий стол) WOLFak Компоненты Delphi 1 07.04.2008 07:45
Создание кнопки Karl_Karlovi4 Общие вопросы Delphi 1 05.02.2008 13:55
триггерные кнопки и кнопки переключатели в DELPHI MARGO Помощь студентам 3 12.11.2007 17:35