在DBGrid中实现Copy、Paste功能 转珠江路在线
来源:互联网 发布:二叉树的遍历算法先序 编辑:程序博客网 时间:2024/05/16 10:02
在DBGrid中实现Copy、Paste功能 |
」ぞ咛跎系腃ut、Copy和Paste加速按钮,对于使用Windows下编辑器的人来说,恐怕都是非常熟悉而且不可缺少的。Delphi中的有些控件,如:TDBEdit、TDBImage、TDBMemo、TEdit等,具有CutToClipboard、CopyToClipboard和PasteFromClipboard方法,在这些控件上,利用这几个方法,只要通过简单的编程,就可以实现上述加速按钮。但TDBGrid控件却不提供上述方法,无法直接实现这几种功能。而在单机的数据库应用程序中,TDBGrid却经常被用来进行数据(包括数字和文字)的输入,没有Copy和Paste功能,使用起来深感不便。笔者在编程过程中,利用中间控件进行“过渡”,间接地实现了这几种功能。 主要思路:既然TDBGrid控件无法直接实现Copy和Paste编辑功能,则可以将TDBGrid控件中需要进行这几种编辑的字段(Field)的内容,转移到具备这几种功能的控件(以TDBEdit为例)中去,编辑完毕后,再传回到TDBGrid中。 具体方法:在已设计好的包含有TDBGrid控件(设名为DBGrid1)的窗体中,增加一个TDBEdit(设名为DBEdit1)控件,其DataSources属性设为与DBGrid1的DataSources属性相同,对DBGrid1控件的OnColEnter事件编程,使DBEdit1的DataField属性值等于DBGrid1控件的被选择字段的字段名。再在窗体中增加两个快速按钮:Copy和Paste,图形可选Delphi子目录下ImagesιButtons子目录里的Copy.bmp和Paste.bmp。对Copy快速按钮的OnClick事件编程: DBEdit1.CopyToClipboard; 对Paste快速按钮的OnClick事件编程: DBEdit1.PasteFromClipboard; DBGrid1.SelectedField.AsString:=DBEdit1.Text; 此时,如果DBGrid1中的某一单元Cell数字需要粘贴另一单元Cell2的部分或全部内容,用鼠标单击选择Cell2,此时DBEdit1所显示的内容与Cell2的内容相同。在DBEdit1中用鼠标拖曳选择部分或全部内容,单击Copy快速按钮;再用鼠标单击选择Cell,此时DBEdit1所显示的内容与Cell相同,在DBEdit中欲粘贴刚才所选内容的位置插入光标,单击Paste快速按钮,则刚才所选内容插入到光标位置,Cell的内容也随之改变成插入后的内容,由此完成了一次Copy—Paste操作。 用这种方法实现Copy—Paste操作,比正常的操作多了一次鼠标的键击、两次鼠标的移动。在重复输入的内容不多,且操作者键盘输入很快很熟练的情况下,这种实现Copy—Paste的方法,意义似乎不大。但如果应用程序的使用者是那些并没有掌握某种快 淖质淙爰记伞⒑苡锌赡芑乖谑褂闷匆羰淙敕ǖ娜耍绻褂谜叨哉5腃opy—Paste方法本来就不熟练(则感觉不到这种方法的不合常规),且又非常地善于在一长串的同音字里翻来翻去地寻找的话,这还是一种不错的方法。如果哪位读者有能在TDBGrid中实现常规Copy—Paste操作的方法,请不吝赐教。 以下是有关的程序代码: procedure TUnitDetail.DBGrid1ColEnter(Sender:TObject); begin case DBGrid1.SelectedIndex of 0:DBEdit1.DataField:=Unit?Num; 1:DBEdit1.DataField:=UnitName; 2:DBEdit1.DataField:=Header; 3:DBEdit1.DataField:=Address; 4:DBEdit1.DataField:=Tel; end; end; procedure TUnitDetail.SBCopyClick(Sender:TObject); begin DBEdit1.CopyToClipboard; end; procedureTUnitDetail.SBPasteClick(Sender:TObject); begin DBEdit1.PasteFromClipboard; DBGrid1.SelectedField.AsString:=DBEdit1.text; end; |
- 在DBGrid中实现Copy、Paste功能 转珠江路在线
- 在DBGrid中实现Copy、Paste功能
- 在DBGrid中实现多选功能。
- 在DBGRID或者STRINGGRID中实现用滚轮进行翻页的功能
- 2。如何在DBGRID或者STRINGGRID中实现用滚轮进行翻页的功能
- 在DBGrid中实现鼠标滚轮的上下滚屏功能
- 如何在Java应用程序中实现copy图像功能
- 给EditCtrl添加自定义菜单并实现Copy,Cut和Paste功能
- 在csdn的blog中增加珠江路电脑报价的显示
- iPhone中如何copy,cut,paste
- 获取在Windows 资源管理器中执行COPY/PASTE的文件列表信息
- RHEL 5.4 下让 Firefox 允许在 JavaEye 编辑器中copy paste
- 如何在DBGRID或者STRINGGRID中实现用滚轮进行翻页的功能,就象浏览网页一样?
- WPF禁用文本框的copy,paste,cut功能
- 在DBGrid表格控件中实现下拉表格控件
- Java应用程序中实现copy图像功能
- 在DBGrid中加入Checkbox
- 禁止 在Text Box 里面Copy & Paste, Autocomplete
- 让你崩溃的Java Integer equals,==,box,unbox
- 高质量C++/C编程指南
- linux多线程下载
- 第1章 文件结构
- 在选项卡上添加对话框(VC)
- 在DBGrid中实现Copy、Paste功能 转珠江路在线
- Adobe 正式发布 Flash Player 10 [version 10.0.12.36]
- wince的map入门
- 利用正则表达式获取特定文件(如java class)并对其进行处理(如代码统计)
- WIC项目_SAIO SQLCE DB manmger转换出现的问题
- 关于poping,我对这个最感兴趣……
- 人工智能概论㈡——精神·自我与人工智能
- windows 下安装PyGtk
- CMD中文乱码,不能输入中文,或显示为问号的问题解决方案