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

关于stringGrid的编写。请高手指点。

楼主dickman(我为window狂)2005-07-15 11:50:50 在 Delphi / VCL组件开发及应用 提问

1   本人想编写一个TStringGrid的子类,并打算复盖keydown事件,以便在最后一行按下'下箭头'时自动增加一行,按下'上箭头'时,如果某些条件成立,自动删除最后一行。   但这个条件由组件的客户而定(例如:第二列及第三列内容为空时条件成立或者其它)。   请问应该如何实现???   使用事件驱动可以有返回值吗???  
   
  问题点数:20、回复次数:3Top

1 楼dickman(我为window狂)回复于 2005-07-15 13:52:32 得分 0

事件都必须是过程吗?   能否是一个有返回值的函数???Top

2 楼windindance(风舞轻扬·白首为功名)回复于 2005-07-15 14:17:20 得分 20

定义一个事件:  
  type  
      TCheckValueNotify   =   procedure(Sender:TObject;   var   CanCheck:boolean);  
   
  class   ()  
  ..  
  OnCheckValue:TCheckValueNotify   read   FOnCheckValue   write   FOnCheckValue;  
   
  在OnKeyDown事件中这样处理:  
  var  
      CanCheck   :boolean;  
  if   Assigned(FOnCheckValue)   then  
  begin  
      FOnCheckValue(Sender,   CanCheck);  
      if   CanCheck   then    
      ...  
   
  在组件的客户中,需要响应OnCheckValue事件,在该事件中为CanCheck赋值。  
  如果需要多个状态,可以将var   CanCheck:boolean   修改为:var   State:Integer;Top

3 楼windindance(风舞轻扬·白首为功名)回复于 2005-07-15 14:18:03 得分 0

事件都必须是过程。  
  如果需要定义返回值,用var参数传递。  
  Top

相关问题

  • (62分)编写DLL时遇到的问题,请高手指点!
  • 有关编写DLL的问题请教,请高手指点迷津
  • 急!!!!!!!!---------请教远程升级程序编写问题,请高手们指点
  • 关于socket编写多用户聊天的一点疑惑,请高手指点~
  • 请指点:用c++在console下编写window窗口编译错误
  • 一格关于编写windows服务程序的问题,请大侠指点
  • 请指点!!
  • 请指点!
  • 急,请指点!
  • 请指点。。。。。

关键词

  • cancheck
  • foncheckvalue
  • 事件
  • 一行
  • 返回
  • 条件
  • 需要
  • boolean
  • var

得分解答快速导航

  • 帖主:dickman
  • windindance

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

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