Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

OnMouseUp [D7, XP]


Rimd ©   (2007-12-07 10:51:00) 

Здравствуйте, подскажите пожалуйста... попал в стопор...

создаю динамически CheckBox:  ChBox:TCheckBox;

procedure OnCheckBox(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
//
end;

нужно навесить на него обработчик: ChBox.OnMouseUp:=OnCheckBox;

вот на этом отказывается компилировать. Что я не так сделал?

Заранее благодарен


KSergey   (2007-12-07 11:40:00) [1]

Rimd, прочитайте обязательно
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=342

А так же все статьи к обязательному ознакомлению из раздела
http://www.delphikingdom.com/asp/section.asp?id=16


Rimd   (2007-12-07 11:28:00) [2]

Всем огромное спасибо!

Особенно  Dib@zol ©


Rimd   (2007-12-07 11:28:00) [3]

Вопрос закрыт


Dib@zol   (2007-12-07 11:24:00) [4]

> ChB:=@Sender;
Не надо так. Лучше Chb:=TCheckBox(Sender);


Rimd   (2007-12-07 11:22:00) [5]

Так я научился делать....
Только у меня немного обратная задача...
Мне нужно ловить свойство Top чекбокса, над которым произошло событие...
Пытался так var ChB:CheckBox;
ChB:=@Sender;
но при обращении к ChB.Top происходит ошибка
Других вариантов у меня нет... подскажите, плиз


{RASkov}   (2007-12-07 11:06:00) [6]

> [5] Rimd   (07.12.07 11:00)

procedure TForm1.OnCheckBox(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
 if Sender is T<нужный класс(CheckBox)> then ShowMessage(T<нужный класс(CheckBox)>(Sender).Caption);
end;

Ну и соответственно, что бы появился у данного примера какой-то эфект, то нужно при создании задавать разные Кэпшены....
Надеюсь с этим
T<нужный класс(CheckBox)>
...вопросов нет?


{RASkov}   (2007-12-07 11:02:00) [7]

См хелп по первому параметру
т.е. по Sender'у


Rimd   (2007-12-07 11:00:00) [8]

Всем спасибо!

Проявилась следующая проблемма... если у меня динамически создается больше чем один чекбокс, то как отследить в какой именно произошло событие?


Юрий Зотов   (2007-12-07 10:56:00) [9]

procedure TForm1. OnCheckBox...


{RASkov}   (2007-12-07 10:55:00) [10]

> [0] Rimd   (07.12.07 10:51)

Это должен быть метод, а не обычная процедура....
т.е. сделай ее методом, например формы, с которой работаешь...
[1] + 1 т.е.
должно выглядеть примерно так:
procedure TForm.OnCheckBox(Sender: TObject; Button...);


Rimd   (2007-12-07 10:54:00) [11]

Покажите, пожалуйста, пример


Юрий Зотов   (2007-12-07 10:53:00) [12]

Обработчиками событий могут быть методы классов, а не регулярные процедуры.


Наверх

Титульная страница Поиск, карта сайта Написать письмо