powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Sender
10 сообщений из 10, страница 1 из 1
Sender
    #32376572
BelAS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто нибудь сможет сказать как решить следующую задачу.

На форме к примеру 5 кнопок Button1-5.
Как определить какая из этих кнопок была нажата.
Имеется ввиду создать какуюнить процедуру, которая запускается при нажатии на любую кнопку, а процедура сама определяет какая кнопка была нажата.

Помогите плииз......
...
Рейтинг: 0 / 0
Sender
    #32376573
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и?
что ты имеешь в виду "определить какая кнопка"?
переменная "сендер" однозначно определяет объект, вызвавший событие.
чтобы обратиться к этому объету как к кнопке напиши так:
TBUTTON(sender)
...
Рейтинг: 0 / 0
Sender
    #32376580
DmitryV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в дополнение к alex_k : у компонентов есть свойство Tag, которое можно использовать для идентификации....

Удачи
...
Рейтинг: 0 / 0
Sender
    #32376596
BelAS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так текст кода как должен выглядеть?

if sender = ....... then
showmessage(кнопка номер ..)

что заместо точек то должно стоять?
...
Рейтинг: 0 / 0
Sender
    #32376600
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
TfrmMain.btnButton1Click(Sender: TObject);
begin
  case (Sender as TControl).Tag of
     1 : ...
     2 : ...
  end;
end;
...
Рейтинг: 0 / 0
Sender
    #32376601
BelAS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tag есть у всех компонентов. Соответственно каждой кнопке мы его присвоим, а как потом им воспользоваться?
...
Рейтинг: 0 / 0
Sender
    #32376604
BelAS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 pkarklin

видимо в одно время писали :)
...
Рейтинг: 0 / 0
Sender
    #32376607
Berg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тебе написали готовый код. Чего еще?
Так и используй... Если свойство Tag Sender'a равно 1, то это кнопка номер 1. (та кнопка, свойству Tag которой ты присвоил 1). Если 2, то 2.
Ну, можно указатели сравнивать на равенство типа if (Sender = Button1) then
...
Рейтинг: 0 / 0
Sender
    #32376633
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторвидимо в одно время писали :)

Вместо точек в case пиши свою обработку для каждой кнопки с определенным тагом. Все.
...
Рейтинг: 0 / 0
Sender
    #32376677
Фотография Cauchy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если, например, стоит задача по нажатию изменить Caption у кнопки, то можно сделать так:
(Sender as TButton).Caption := 'blablabla';
Аналогично, можно менять и другие свойства.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Sender
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]