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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2016, 20:46   #1
Hinc
Пользователь
 
Регистрация: 14.05.2016
Сообщений: 33
Сообщение Button.Click и Label.Click

В Delphi 7 есть прекрасная возможность нажать кнопку программно:
Button1.Click;
Я этим часто пользуюсь.
Но, к сожалению, я работаю больше с Label потому что они плоские, имеют события OnMouseMove и OnMouseLeave и поэтому мне нужно как-то программно нажать на Label, но такой возможности, как с кнопкой нет. Копировать код и делать это по-другому - долго и затратно.

Так вот, вопрос: нет ли для Label какого-то подобного кода, чтобы программно кликнуть на нее?
Hinc вне форума Ответить с цитированием
Старый 17.05.2016, 20:50   #2
TaLadno
Форумчанин
 
Регистрация: 03.06.2015
Сообщений: 393
По умолчанию

Код:
LabelXXX.OnClick(LabelXXX);
А лучше расшифруй свой ЧНЯ (http://www.gunsmoker.ru/2008/10/x-y-z.html)
Вы там держитесь.
TaLadno вне форума Ответить с цитированием
Старый 17.05.2016, 20:50   #3
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Я этим часто пользуюсь
Зачем? В большинстве случаев не надо так делать, надо просто вынести код в отдельную процедуру и т.п.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 17.05.2016, 20:54   #4
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,893
По умолчанию

Код:
procedure TForm9.Label1Click(Sender: TObject);
begin
  ShowMessage('Test');
end;

procedure TForm9.Button1Click(Sender: TObject);
begin
  Label1.OnClick(Self);
end;
Не?
Shouldercannon вне форума Ответить с цитированием
Старый 17.05.2016, 21:00   #5
Hinc
Пользователь
 
Регистрация: 14.05.2016
Сообщений: 33
По умолчанию

Супер!
То, что нужно!
Спасибо. =)
Hinc вне форума Ответить с цитированием
Старый 17.05.2016, 21:00   #6
TaLadno
Форумчанин
 
Регистрация: 03.06.2015
Сообщений: 393
По умолчанию

Цитата:
Сообщение от Shouldercannon Посмотреть сообщение
Не?
Не.

А если там отакой "обработчик" клика?
Код:
procedure TForm1.Label1Click(Sender: TObject);
begin
  ShowMessage((Sender as TLabel).Caption);
end;
К чему приведет вызов "по твоему"?
Цитата:
Сообщение от Shouldercannon Посмотреть сообщение
Код:
procedure TForm9.Button1Click(Sender: TObject);
begin
  Label1.OnClick(Self);
end;
Вы там держитесь.
TaLadno вне форума Ответить с цитированием
Старый 17.05.2016, 21:10   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
А если там отакой "обработчик" клика?
Да лан, формошлепы с Form9, Button1, Button2, ..., Button42 и вызовами кликов в коде так не пишут =)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 17.05.2016, 21:14   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Код:
  if Assigned(Label1.OnClick) then Label1.OnClick(Label1);
или, если очень метод Click хочется, то
Код:
type
  TLabel = class(StdCtrls.TLabel)
  protected
    procedure Click; override;
  end;
  TForm1 = class(TForm)
    Label1: TLabel;
...

implementation

{$R *.dfm}

procedure TLabel.Click;
begin
  Inherited;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1.Click;
end;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JQ .click kelbas JavaScript, Ajax 4 16.05.2016 16:38
click all id c# js Unnika C# (си шарп) 9 12.04.2016 13:17
Delphi требует параметры в button.click TrickMePLS Общие вопросы Delphi 2 10.06.2014 15:54
Button Click MAZADA Общие вопросы Delphi 14 22.10.2010 00:02
Как обьединить кучу однобразного кода собый Button Click OST_K Помощь студентам 3 25.05.2010 19:16