{
MessageBeep(-1);
TCustomlabel::Click();
}
Вопросы связанные с разработкой компонента. События.
Вот понял, что у вас нес очень важного раздела - разработка компонентов. Которая точно в несколько тем не ввяжится...
ну вопрос такой.... занялся я разработкой компонентов. Дошёл до важной части, без которой продолжать разрабатывать не могу.
называется тема: "Замещение событий базового класса" по книге "Изучить билдер за 21 день".
Цитата из книги:
"например, нам нужно изменить предопределённое событие OnClick так, чтобы динамик издавал звук при щелчке. Для этого требуется заместить функцию Click() базового класса как здесь:
void __fastcall TxLabel::Click()
Код:
Посколько данная функция объявленна в базовом классе как виртуальная, то всё норм.
//---------------------------------------------------------------
или в самом коде написанно так:
//---TxLabel.h
virtual void __fastcall Click()
{
MessageBeep(-1);
TLabel::Click();
}
Вроде всё должно выть норм. однако какой компонент я не делаю с замещением возникает такая ошибка:
Цитата:
[C++ Error] DrawButton1.h(42): E2113 Virtual function '_fastcall DrawButton::Click()' conflicts with base class 'TSpeedButton'
или аналогичные... ну факт тот что conflicts with base class
Подскажите пожалуйста, что это за .... ??? :confused:
список параметров и тип возвращаемого значения должны быть идентичны.
Цитата: T...H
Подскажите пожалуйста, что это за .... ??? :confused:
при объявлении:
Код:
...
DYNAMIC void __fastcall Click();
...
DYNAMIC void __fastcall Click();
...
и наследувют обычно от TCustom_компонеты, а не от TSpeedButton...
Замещение события OnClick - Click()
OnMouseDown - MouseDown()...
А вот событие Label - OnMouseEnter,OnMouseLive - не могу, мучаюсь... тута вот...
Подскажите пожалуйста, люди добрые, можно ли вообще их заместить или нет, если да, то как?? Пробовал MouseEnter(), OnEnter(), Enter() и другие - не получается!!!