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

如何简单操作?

楼主builderer()2006-09-02 21:25:34 在 C++ Builder / 基础类 提问

新人问题。现在有主从两个窗口,每个窗口中都有很多个Edit控件用来输入数字量,现在我已经完成了限制Edit控件只能输入正确数字量的程序,是通过KeyPress事件完成的,由于Edit控件太多不可能在每个Edit控件的KeyPress事件下输入该段程序。请问如何能实现每个Edit的数字量正确,而且不用在每个KeyPress下输入相同的长段处理程序呢?我想应该和定义一个函数然后调用的方法相同,但不知道如何操作,请指教。谢谢! 问题点数:20、回复次数:7Top

1 楼sl19831983(★★★★★)回复于 2006-09-02 21:58:24 得分 0

可以用函数啊,你把     “而且不用在每个KeyPress下输入相同的长段处理程序”       这部分代码用一个函数来  
   
  实现,然后在相应的位置调用函数就可以了嘛。Top

2 楼builderer()回复于 2006-09-02 22:36:38 得分 0

写好的程序中有:Edit1->text="0.";如果用函数的话,Edit1这个应该怎么处理才能应用到Edit2中呢?KeyPress事件中的参数Sender是做什么的?是不是可以通过它来传递KeyPress事件是发生在Edit1还是Edit2?        
  KeyPress事件中的参数Sender传递的什么?Top

3 楼BlueDeepOcean(蓝色·深海)回复于 2006-09-02 23:26:53 得分 20

1、在你的窗体中,按住Shift键,之后选择你要处理KeyPress事件的所有Edit;  
  2、在左侧的“Object   Inspector”中,选择“Events”页,找到OnKeyPress,在右侧的下拉列表中选择“Edit1KeyPress”即可。Top

4 楼YJS050320001(Thinking)回复于 2006-09-03 08:44:14 得分 0

这样也许可以   把你写的程序:在头文件中声明,然后再.cpp中把需要的那段写出来,  
  然后再相应的事件中调用即可。Top

5 楼builderer()回复于 2006-09-03 12:52:03 得分 0

BlueDeepOcean(蓝色·深海),你的方法我试过了不行不,输出结果是无论在哪个控件输入,结果只显示在Edit1中.我看了e文的帮助文件,所说的操作和你的差不多.Top

6 楼builderer()回复于 2006-09-03 13:14:43 得分 0

多谢BlueDeepOcean(蓝色·深海).问题解决了.我昨晚是把所有Edit的KeyPress事件集中到form的KeyPress中处理,但一运行就死机.得到蓝色的提醒集中到Edit1中处理,问题解决,用sender来确定是哪个Edit产生的KeyPress事件,同时定义一TEdit的类对象,用来接收sender.代码如下:  
  TEdit   *Edit;  
    if(Sender==Edit1)  
      Edit=Edit1;  
    if(Sender==Edit2)  
      Edit=Edit2;  
   
    if(Key=='.')  
    {  
        Edit->Text="0.";  
        Key=NULL;  
        Edit->SelStart=2;  
    }Top

7 楼builderer()回复于 2006-09-03 13:30:14 得分 0

续个附加的.如果两个窗口中的Edit又如何共用呢?Top

相关问题

关键词

得分解答快速导航

  • 帖主:builderer
  • BlueDeepOcean

相关链接

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

广告也精彩

反馈

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