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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2016, 13:43   #1
Azrael375
Новичок
Джуниор
 
Регистрация: 03.03.2015
Сообщений: 1
По умолчанию Создать компонент кнопки Button с сохраненным событием

Помогите пожалуйста.
Надо создать компонент кнопки Button с сохраненным событием, в данном случае перемещение кнопки от указателя мыши.
Надо создать кнопку так, чтобы при создании новой формы и вставки данного компонента, свойства кнопки сразу прописывались в новой форме.
И возможно ли вообще такое?
Вложения
Тип файла: rar Кнопка.rar (160.2 Кб, 19 просмотров)
Azrael375 вне форума Ответить с цитированием
Старый 31.05.2016, 13:48   #2
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Чем твоя кнопка должна от стандартной отличаться?
Как звучит задание в оригинале?
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...

Последний раз редактировалось min@y™; 31.05.2016 в 13:54.
min@y™ вне форума Ответить с цитированием
Старый 31.05.2016, 14:40   #3
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
Надо создать компонент кнопки Button с сохраненным событием,
ВСЕ(или ПОЧТИ все) события(Events) вызываются через перекрываемые(dinamic / virtual) методы соответствующего класса.
Тебе надо написать наследника и перекрыть нужный метод.
написать процедуру(функцию) с тем же именем И ТЕМ ЖЕ набором формальных параметров и указать для нее override;
Код:
TMyButton =class(TButton)
protected
  procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
end;
Код:
procedure TMybutton.MouseMove(Shift: TShiftState; X, Y: Integer);
begin

// сначала делаем что хотим

  inherited;  // настоятельно РЕКОМЕДУЕТСЯ вызывать "стандартную обработку" кто-знает ЧТО БЫЛО завязано на данную процедуру
  

// и продолжаем делать что нам нужно

end;
ну и создавать ВСЕ такие компоненты придется "вручную(и вслепую)" (без визуального редактора)
Код:
 btn:=TMyButton.Create(....);
 btn.top:=...
 btn.Parent:=....
 ....
конечно ДО ТЕХ пор, пока данный класс не будет зарегистрирован(установлен) в IDE, а после этого все будет как обычно.
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 31.05.2016 в 14:54.
evg_m вне форума Ответить с цитированием
Ответ


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

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Компонент sDateEdit1, и Button spotip Компоненты Delphi 2 18.08.2014 12:06
Свои кнопки или скажем нет обычным Button'ам! Reimscher Компоненты Delphi 8 27.10.2013 23:37
Создание програмно кнопки (Button) с кодом Chikoy Общие вопросы Delphi 5 18.12.2012 19:48
Обычные кнопки(Button) Саша019960 C++ Builder 1 31.10.2011 19:16
два компонента Edit и компонент Button. lastarmyman Общие вопросы .NET 5 28.05.2010 03:27