M
Maycal
Доброе время суток уважаемые программисты. В данный момент я по самоучителю изучаю C++ и застрял на создание круглой кнопки.
Проблема заключается в том, что я не могу вызвать методы MouseDown и MouseUp.
Цель программы такова: после нажатия на круглую кнопку контур эллипса становиться более жирным, вследствии чего создаеться впечетление о нажатой кнопки. Чтобы вызвать метод "ожирнения" контурной линии я использую методы MouseDown и MouseUp. Обявления в заголовочном файле выглядят следующим образом:
protected:
virtual void __fastcall MouseDown(TMouseButton Button,
Classes::TShiftState Shift, int X, int Y);
virtual void __fastcall MouseUp(TMouseButton Button,
Classes::TShiftState Shift, int X, int Y);
а сами методы выглядит так:
void __fastcall TOButton::MouseDown(TMouseButton Button,
Classes::TShiftState Shift, int X, int Y)
{
TCustomControl::MouseDown (Button, Shift, X, Y);
if (Button == mbLeft)
{
Pressed = true;
Paint ();
}
}
//---------------------------------------
void __fastcall TOButton::MouseUp(TMouseButton Button,
Classes::TShiftState Shift, int X, int Y)
{
TCustomControl::MouseUp (Button, Shift, X, Y);
Pressed = false;
Paint ();
}
//-----------------------------------------
Но как только пытаюсь запустить проект, выдаеться сообщение об ощибке:
[C++ Error] OButton.h(19): E2113 Virtual function '_fastcall TOButton::MouseDown(TMouseButton,TShiftState,int,int)' conflicts with base class 'TControl'
[C++ Error] OButton.h(21): E2113 Virtual function '_fastcall TOButton::MouseUp(TMouseButton,TShiftState,int,int)' conflicts with base class 'TControl'
Родительским классом использую TCustomControl. Я с 8 часов утра пытаюсь понять в чем дело и безрезультатно! Люди, помогите пожалуйста, буду очень благодарен!!! Заранее спасибо.
Проблема заключается в том, что я не могу вызвать методы MouseDown и MouseUp.
Цель программы такова: после нажатия на круглую кнопку контур эллипса становиться более жирным, вследствии чего создаеться впечетление о нажатой кнопки. Чтобы вызвать метод "ожирнения" контурной линии я использую методы MouseDown и MouseUp. Обявления в заголовочном файле выглядят следующим образом:
protected:
virtual void __fastcall MouseDown(TMouseButton Button,
Classes::TShiftState Shift, int X, int Y);
virtual void __fastcall MouseUp(TMouseButton Button,
Classes::TShiftState Shift, int X, int Y);
а сами методы выглядит так:
void __fastcall TOButton::MouseDown(TMouseButton Button,
Classes::TShiftState Shift, int X, int Y)
{
TCustomControl::MouseDown (Button, Shift, X, Y);
if (Button == mbLeft)
{
Pressed = true;
Paint ();
}
}
//---------------------------------------
void __fastcall TOButton::MouseUp(TMouseButton Button,
Classes::TShiftState Shift, int X, int Y)
{
TCustomControl::MouseUp (Button, Shift, X, Y);
Pressed = false;
Paint ();
}
//-----------------------------------------
Но как только пытаюсь запустить проект, выдаеться сообщение об ощибке:
[C++ Error] OButton.h(19): E2113 Virtual function '_fastcall TOButton::MouseDown(TMouseButton,TShiftState,int,int)' conflicts with base class 'TControl'
[C++ Error] OButton.h(21): E2113 Virtual function '_fastcall TOButton::MouseUp(TMouseButton,TShiftState,int,int)' conflicts with base class 'TControl'
Родительским классом использую TCustomControl. Я с 8 часов утра пытаюсь понять в чем дело и безрезультатно! Люди, помогите пожалуйста, буду очень благодарен!!! Заранее спасибо.