![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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]Обработчиками событий могут быть методы классов, а не регулярные процедуры.