CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  基础类

组件

楼主peachblossom(桃花仙子)2002-04-14 09:08:05 在 C++ Builder / 基础类 提问

class   PACKAGE   TAnyClass:   public   TGraphicControl  
  {  
        ...  
   
  protected:  
        void   __fastcall   MouseDown(TMouseButton   Button,   TShiftState   Shift,   int   X,   int   Y);  
         
        ...  
  };  
   
  报错!为什么???   50分 问题点数:50、回复次数:17Top

1 楼iceblue007(冰蓝世纪)回复于 2002-04-14 09:24:53 得分 0

抱什么错啊,关键问题不能含糊啊!  
  看看你是不是   把MouseDown()的实现的代码删除了,而申明的部分去没删啊!Top

2 楼peachblossom(桃花仙子)回复于 2002-04-14 09:29:36 得分 0

都在,实现部分:  
  void   __fastcall   TAnyClass::MouseDown(TMouseButton   Button,   TShiftState   Shift,   int   X,   int   Y)  
  {  
        ShowMessage("hello~");  
  }  
   
  错误为:  
  [C++   Error]   TRenjuBoard.h(76):   E2113   Virtual   function   '_fastcall   TRenjuBoard::MouseDown(TMouseButton,TShiftState,int,int)'   conflicts   with   base   class   'TControl'Top

3 楼windindance(风舞轻扬·白首为功名)回复于 2002-04-14 09:39:44 得分 0

试试  
  DYNAMIC   void   __fastcall   MouseDown(Controls::TMouseButton   Button,   Classes::TShiftState   Shift,   int   X,   int   Y);Top

4 楼peachblossom(桃花仙子)回复于 2002-04-14 09:46:48 得分 0

也不行!  
  错误:  
  [Linker   Error]   Unresolved   external   '__fastcall   TRenjuBoard::MouseDown(Controls::TMouseButton,   System::Set<Classes::Classes__1,   0,   6>,   int,   int)'   referenced   from   D:\PROGRAM   FILES\BORLAND\CBUILDER5\LIB\TANYCLASS.OBJ  
  Top

5 楼cdws222(二当家)回复于 2002-04-14 10:41:39 得分 0

TControl里有这个方法,你换一个名子试试Top

6 楼peachblossom(桃花仙子)回复于 2002-04-14 10:56:25 得分 0

换个名字我怎样处理   MouseDown   的消息呢?Top

7 楼lovebcb(京华:开心人生)回复于 2002-04-14 11:45:11 得分 0

这种事情常见,你可以试试,Builder All。Top

8 楼peachblossom(桃花仙子)回复于 2002-04-14 11:55:44 得分 0

Builder All以后,  
  同样的提示:  
  [C++   Error]   TRenjuBoard.h(76):   E2113   Virtual   function   '_fastcall   TRenjuBoard::MouseDown(TMouseButton,TShiftState,int,int)'   conflicts   with   base   class   'TControl'  
  Top

9 楼peachblossom(桃花仙子)回复于 2002-04-15 18:56:33 得分 0

为什么没人帮我。。。。。55555Top

10 楼glyc(大灰狼)回复于 2002-04-16 10:35:36 得分 0

错误表明虚函数MouseDown和基类TControl有冲突。  
   
  你先查一下TGraphicControl的声明,看看它是不是重新声明了MouseDown函数,如果没有,你是不能再继续使用(重载)MouseDown函数了。MouseDown在TControl中保护声明。  
  响应鼠标操作还有其他方法的嘛。  
  你为什么不从TCustomControl重载呢?  
   
  TControl->TGraphicControl,  
                  ->TWinControl->TCustomControl。Top

11 楼peachblossom(桃花仙子)回复于 2002-04-16 17:32:08 得分 0

请举个别的响应鼠标操作的例子好吗?谢谢~Top

12 楼peachblossom(桃花仙子)回复于 2002-04-16 17:34:56 得分 0

而且在《C++   BUILDER   开发大全》里面,他就是用这种方法重载的,搞不懂!Top

13 楼glyc(大灰狼)回复于 2002-04-17 08:35:54 得分 50

比如WM_MOUSEDOWN、WM_MOUSEUP等消息就可以用来处理鼠标事件。重载WndProc中处理这些消息。Top

14 楼jinwenming(狼)回复于 2002-04-17 12:59:39 得分 0

照我这样写就可以了!!  
  __published:  
          __property   OnMouseDown;  
  Top

15 楼qiu_allan(圣者之剑)回复于 2002-04-18 10:12:33 得分 0

在TControl类中定义了MouseDown事件。  
  你要在你的头文件中用“__published”,并加上一些标识和参数不同于基类,如你可以定义成:(注意TObject   *Sender)  
  __published  
        void   __fastcall   MyAnyMouseDown(TObject   *   Sender,   TMouseButton   Button,   TShiftState   Shift,   int   X,   int   Y);  
  Top

16 楼thunder7971(雷程)回复于 2002-04-28 21:14:06 得分 0

__published:  
          __property   OnMouseDown;  
  是正确的!  
    peachblossom(桃花仙子)   ?女生吗?Top

17 楼jinwenming(狼)回复于 2002-05-10 20:27:46 得分 0

还没结贴啊!!Top

相关问题

  • 组件
  • 寻求组件
  • 使用组件
  • !!!!组件开发!!!!
  • 组件问题
  • Active 组件?
  • VB做组件??
  • 组件问题!
  • VB组件
  • 组件问题

关键词

  • c++
  • 消息
  • mousedown
  • trenjuboard
  • tmousebutton
  • tcontrol
  • fastcall
  • tanyclass
  • 重载
  • tgraphiccontrol

得分解答快速导航

  • 帖主:peachblossom
  • glyc

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo