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

初学BCB,实在不好意思问高手

楼主bashenkiss()2006-05-02 10:14:19 在 C++ Builder / 基础类 提问

一个画板程序,其中画笔样式由自己写的函数SetPenStyle实现(抄书上的),SolidPen,DasPen等是一此快速按钮的Name  
  void   __fastcall   TForm1::SetPenStyle(TObject   *Sender)  
  {if(Sender==SolidPen)  
            Image->Canvas->Pen->Style=psSolid;  
        else   if(Sender==DashPen)  
            Image->Canvas->Pen->Style=psDash;………………  
   
  }  
  画线函数  
  DrawLine(TPoint   TopLeft,TPoint   BottomRight,TPenMode   AMode)  
  {  
                //设定画笔的绘制方式  
          Image->Canvas->Pen->Mode=AMode;  
          Image->Canvas->MoveTo(TopLeft.x,TopLeft.y);  
          Image->Canvas->LineTo(BottomRight.x,BottomRight.y);  
  }  
  可是在画线的时候就是改变不了画线线条的样式,怎么回事呀。  
  在SetPenStyle(TObject   *Sender)里面,*Sender参数有什么用呀。我那700页的教程都没提……  
  可本人   QQ37351453,跪求大侠指教! 问题点数:20、回复次数:5Top

1 楼rainfall19831109(恩恩)回复于 2006-05-02 11:56:59 得分 5

SolidPen和DasPen是SpeedButton的Name属性吗?  
  那么函数SetPenStyle感觉这样判断就不对咯  
  我判断的方法就是if(   ((TSpeedButton*)Sender)->Name   ==   "SolidPen"   ||   ((TSpeedButton*)Sender)->Name   ==   "DasPen");  
  但前提是要确保触发SetPenStyle函数的是那两个按钮其中的一个  
   
  Sender函数前面都说了,就是触发这个函数的对象指针,就象在Button1的OnClick事件里,事件函数中的Sender参数,就是Button1本身,如果Button2的OnClick事件也是调用Button的OnClick函数的话,那么这时Button1OnClick函数里的Sender就是Button2了Top

2 楼zyyoung(倡导开源)回复于 2006-05-02 14:41:51 得分 5

友情upTop

3 楼stevenjscn(小胖)回复于 2006-05-02 15:55:07 得分 5

UPTop

4 楼bashenkiss()回复于 2006-05-02 23:05:09 得分 0

请问一楼,如果同时有两个按带Sender指针的按钮被按下,Sender指的是哪个按钮被触发??Top

5 楼BlueDeepOcean(蓝色·深海)回复于 2006-05-03 16:33:44 得分 5

几种可能是:  
  1、画笔的宽度大于1,即:…->Pen->Width   ≠   1;  
  2、你的自定义函数写的就错误了。(TObject   *Sender)中的Sender是发出该消息的控件(对象)是什么,而不是画笔的Name或者其他的什么。  
   
  看你的错误就集中在第一个函数上了。另一个函数没有错误。Top

相关问题

关键词

得分解答快速导航

  • 帖主:bashenkiss
  • rainfall19831109
  • zyyoung
  • stevenjscn
  • BlueDeepOcean

相关链接

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

广告也精彩

反馈

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