Вниз
Скачать: CL | DM;

OnMouseUp   Найти похожие ветки 

← →
Rimd   (2007-12-07 10:51) [0]

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

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

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

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

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

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


← →
Юрий Зотов ©   (2007-12-07 10:53) [1]

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


← →
Rimd   (2007-12-07 10:54) [2]

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


← →
{RASkov} ©   (2007-12-07 10:55) [3]

> [0] Rimd   (07.12.07 10:51)

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


← →
Юрий Зотов ©   (2007-12-07 10:56) [4]

procedure TForm1.OnCheckBox...


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

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

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


← →
{RASkov} ©   (2007-12-07 11:02) [6]

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


← →
{RASkov} ©   (2007-12-07 11:06) [7]

> [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)>
...вопросов нет?


← →
Rimd   (2007-12-07 11:22) [8]

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


← →
Dib@zol ©   (2007-12-07 11:24) [9]

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


← →
Rimd   (2007-12-07 11:28) [10]

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

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


← →
Rimd   (2007-12-07 11:28) [11]

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


← →
KSergey ©   (2007-12-07 11:40) [12]

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

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.018 c
3-1188279724
dimaL
2007-08-28 09:42
2007.12.30
FLOAT в Firebird


15-1196234589
Fantomas
2007-11-28 10:23
2007.12.30
BDE


6-1174490071
Fantom348
2007-03-21 18:14
2007.12.30
URL Decoding


15-1196149095
Azize
2007-11-27 10:38
2007.12.30
Тестирование


11-1182176992
Vladimir Kladov
2007-06-18 18:29
2007.12.30
Версия 2.68




   Наверх