CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  基础类

开发图形控件的两个初级问题

楼主vdragon(紫龙)2003-11-03 22:28:05 在 C++ Builder / 基础类 提问

控件头文件中下面两个地方编译出错:    
  class   PACKAGE   TMyGraphic   :   public   TGraphicControl    
  {  
  protected:  
                      void   __fastcall   MouseDown(TMouseButton   Button,TShiftState   Shift,  
                                                                          int   x,int   y);  
                      void   __fastcall   MouseUp(TMouseButton   Button,TShiftState   Shift,  
                                                                          int   x,int   y);  
                      //错误:这两个函数和基类Tcontrol冲突,请问该怎么修改?  
   
  —Published:  
        __property   int   Height   ;    
        __property   int   Width   ;    
        __property   int   Left   ;    
        __property   int   Top   ;    
              //错误:这四个属性需要初始化,请问在哪里初始化?  
  }  
  问题点数:100、回复次数:8Top

1 楼pp616(坏蛋)回复于 2003-11-03 22:37:40 得分 100

修改函数名字啊。如FMyMouseDown,FMyMouseUp  
   
  Height   Width   Left   Top   这四个成员是基类就发布的。  
  你只需要  
  __property   Height   ;    
  __property   Width   ;    
  __property   Left   ;    
  __property   Top   ;    
  不需要指定类型了。  
   
  初始化可以在你的构造函数中。  
   
  Top

2 楼vdragon(紫龙)回复于 2003-11-04 08:33:30 得分 0

谢谢你:)  
  还请教两个问题:  
  1。怎么在paint函数里获取当前鼠标位置来设置   Left,Top的值呢?  
  2。请问怎么给分啊?上次我给别人100分,结果显示的还是0分:(Top

3 楼pzoon(杀死日本人)回复于 2003-11-04 08:47:27 得分 0

pp616(游戏全删了)    
  他说的很对  
   
  你在FormMouseMove里获得鼠标的位置  
  要不很麻烦Top

4 楼vdragon(紫龙)回复于 2003-11-04 09:08:17 得分 0

e...我知道了,在Paint函数中用ClientRect就可以了,但是  
   
  if   (ClientRect.Height==0)  
                    ClientRect.Height=FLineWidth;  
  这两行出错:  
      E2235   Member   function   must   be   called   or   its   address   taken  
   
  请问是怎么回事?Top

5 楼vdragon(紫龙)回复于 2003-11-04 16:35:23 得分 0

谢谢pp616,先给50分,帮我看看最后一个问题啊Top

6 楼pp616(坏蛋)回复于 2003-11-05 00:08:08 得分 0

这个错误停到那行代码上。贴出来。Top

7 楼myy()回复于 2003-11-05 00:14:18 得分 0

if   (ClientRect.Height()==0)  
                    ClientRect.Height()=FLineWidth;   //????????  
  Top

8 楼vdragon(紫龙)回复于 2003-11-05 08:33:30 得分 0

pp616,不好意思,是我用错了属性  
  应该用ClientHeight取得控件的高度。  
   
  如果用myy的方法,会出现一个错误:Lvalue   required  
  不知道怎么改...Top

相关问题

  • 图形控件 - Shapes
  • 我的图形控件 - Shapes
  • 我的图形控件 - Shapes
  • 图形的初级问题
  • 请问有高手能给我一些开发自定义控件(尤其是Chart图形控件)的源代码吗?
  • 关于mshflexgrid控件的初级问题??
  • 关于textbox控件的初级问题
  • 有哪些好的VB图形控件?
  • 怎么实现图形的Slider控件?
  • 该用什么控件?图形显示

关键词

  • 函数
  • 控件
  • top
  • clientrect
  • 初始化
  • 请问
  • pp616
  • 错误
  • 问题
  • height

得分解答快速导航

  • 帖主:vdragon
  • pp616

相关链接

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

广告也精彩

反馈

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