Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Вопросы связанные с разработкой компонента. События.

7.4K
10 марта 2009 года
T...H
159 / / 28.12.2008
Здарова программисты!!
Вот понял, что у вас нес очень важного раздела - разработка компонентов. Которая точно в несколько тем не ввяжится...
ну вопрос такой.... занялся я разработкой компонентов. Дошёл до важной части, без которой продолжать разрабатывать не могу.
называется тема: "Замещение событий базового класса" по книге "Изучить билдер за 21 день".
Цитата из книги:
"например, нам нужно изменить предопределённое событие OnClick так, чтобы динамик издавал звук при щелчке. Для этого требуется заместить функцию Click() базового класса как здесь:
void __fastcall TxLabel::Click()
 
Код:
{
 MessageBeep(-1);
TCustomlabel::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:

255
10 марта 2009 года
Dart Bobr
1.4K / / 09.04.2004
список параметров и тип возвращаемого значения должны быть идентичны.
246
11 марта 2009 года
GIZMO
1.8K / / 30.07.2004
Цитата: T...H
Подскажите пожалуйста, что это за .... ??? :confused:



при объявлении:

 
Код:
...
    DYNAMIC void __fastcall Click();
    ...


и наследувют обычно от TCustom_компонеты, а не от TSpeedButton...
7.4K
11 марта 2009 года
T...H
159 / / 28.12.2008
Да, действительно спасибо, вот только не получается одна вещь:
Замещение события OnClick - Click()
OnMouseDown - MouseDown()...
А вот событие Label - OnMouseEnter,OnMouseLive - не могу, мучаюсь... тута вот...
Подскажите пожалуйста, люди добрые, можно ли вообще их заместить или нет, если да, то как?? Пробовал MouseEnter(), OnEnter(), Enter() и другие - не получается!!!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог