Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите с OnClick'ом, Нужно прогу написать... 
:(
    Опции темы
EtherLord
Дата 25.9.2005, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 99
Регистрация: 8.9.2005
Где: Ижевск

Репутация: нет
Всего: 1



Суть проблемы вот в чем:
Нужно отловить OnClick в проге и узнать на каком объекте этот Click произошел.
Как?
PM MAIL   Вверх
kent
Дата 25.9.2005, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 6.5.2005
Где: Russia

Репутация: нет
Всего: 1



Цитата(EtherLord @ 25.9.2005, 11:34)
Суть проблемы вот в чем:
Нужно отловить OnClick в проге и узнать на каком объекте этот Click произошел.
Как?

Заведи логическую переменную, и при нажатии кнопки присваивай ей True, после этого проверяй если значение перменной True, значит кнопка была нажата...
PM MAIL ICQ   Вверх
Pakshin A. S.
Дата 25.9.2005, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



Сделать один OnClick и присвоить его всем остальным компонентам... Апотом различать компоненты по Sender'у достаточно просто...
PM   Вверх
EtherLord
Дата 25.9.2005, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 99
Регистрация: 8.9.2005
Где: Ижевск

Репутация: нет
Всего: 1



До этого я уже сам допер, вот только как это реализовать. smile
Заранее спасибо.
PM MAIL   Вверх
kent
Дата 25.9.2005, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 6.5.2005
Где: Russia

Репутация: нет
Всего: 1



Вот как то так:
Код

var
  Form1: TForm1;
  But1Click : Boolean;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
     But1Click := True;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
     if But1Click then begin
       Form1.Caption := 'Нажата кнопка  Button1';
       But1Click := False;
     end;
end;


PM MAIL ICQ   Вверх
FRAGNATIC
Дата 25.9.2005, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


..::Свирепый Кодер::..
**


Профиль
Группа: Участник
Сообщений: 901
Регистрация: 17.10.2004
Где: ICQ

Репутация: 6
Всего: 11



а может уж лучше тогда завести строковую переменую и в каждом онклик присваиваеть ей имя Sender'a )
PM MAIL   Вверх
EtherLord
Дата 25.9.2005, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 99
Регистрация: 8.9.2005
Где: Ижевск

Репутация: нет
Всего: 1



Вы меня немного не поняли. Lonley Delphist понял правильно. Мне нужно реакцию вообще на клик мыши. А потом уже в обработчике нужно выяснить на каком объекте был совешен клик. Вот так вот. Если не тудно, то пусть Lonley Delphist напишет код реализации своей вышеуказанной идеи. smile
PM MAIL   Вверх
Pakshin A. S.
Дата 25.9.2005, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 5056
Регистрация: 16.2.2003

Репутация: 21
Всего: 61



Цитата(EtherLord @ 25.9.2005, 15:58)
Вы меня немного не поняли. Lonley Delphist понял правильно. Мне нужно реакцию вообще на клик мыши. А потом уже в обработчике нужно выяснить на каком объекте был совешен клик. Вот так вот. Если не тудно, то пусть Lonley Delphist напишет код реализации своей вышеуказанной идеи

smile smile smile

Код

procedure TForm1.Button1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if Sender is TLabel
   then
    ShowMEssage((Sender as TLabel).Name);
  if Sender is TEdit
   then
    ShowMEssage((Sender as TEdit).Name);
  if Sender is TButton
   then
    ShowMEssage((Sender as TButton).Name);
end;


Немного длинно... Может есть еще функция по определению типа нашего Sender'а?
PM   Вверх
EtherLord
Дата 25.9.2005, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 99
Регистрация: 8.9.2005
Где: Ижевск

Репутация: нет
Всего: 1



Спасибо огромное. Это то, что мне нужно. smile smile smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0469 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.