最新消息:

初学delphi(一)——复制和粘贴

编程 eben 377浏览 0评论

KeyLife富翁笔记
作者: bqfhw
标题: 初学delphi(一)——复制和粘贴
关键字: 剪贴板 复制 粘贴
分类: 成功心得
密级: 公开

初学delphi(一)——复制和粘贴

开始学delphi了,听老鸟说这很简单,就只要记一些代码和函数就搞定了,就像复制和粘贴,一行代码就好!
我听后,狂喜,立刻动手,哈哈![我用的是TRichEdit控件]
procedure TFM_SUB.Cut1Click(Sender: TObject);
begin
Editor.CutToClipboard; //剪切
end;

procedure TFM_SUB.Copy2Click(Sender: TObject);
begin
Editor.CopyToClipboard; //复制
end;

procedure TFM_SUB.Paste1Click(Sender: TObject);
begin
Editor.PasteFromClipboard; //粘贴
end;
赶快向老鸟报喜去!

“晕!”老鸟一看就来了这一句,“什么破玩意儿!”
我也晕,急忙请教!。。。

1. 在没有选中文字之前,复制按纽是不可用的。
2. 在没有将内容复制进剪帖板之前,粘贴按纽是不可用的。
呵呵!这些可是最基本的啊,想要开发出一个软件,用户可是最重要的啊。
于是,我就开始查阅资料(现在没有资料怎么混!:D)

好,那我们现在就先解决第一个问题。

想要让它们不可用,很简单啊!
procedure TFM_SUB.FormCreate(Sender: TObject);
begin
cut1.Enabled:=false;
copy2.Enabled:=false;
end;
这样就可以了,它们就呈灰色了。
现在要做的就是怎样将它们显示了。
其实,我们要判断字符是否被选中,可以通过判断被选择的字符数大于0来解决。
(因为,TRichEdit有个SelLength的属性。)
procedure TFM_SUB.EditorMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
cut1.Enabled:=(Editor.SelLength>0);
copy2.Enabled:=(Editor.SelLength>0);
end;
哈哈,这下当我们一选中字符,复制和剪切的按纽就会立刻呈现可用状态啦!

然后是第二个问题。
第二个问题主要是判断剪贴板中是否有内容,这是windows里的一个东东。
这里有个函数[HasFormat]可以帮助我们!
根据这个函数的使用方法得:
paste1.Enabled:=clipboard.HasFormat(CF_TEXT);
将这段代码放入刚才解决第一个问题的代码里,即是
procedure TFM_SUB.FormCreate(Sender: TObject);
begin
cut1.Enabled:=false;
copy2.Enabled:=false;
paste1.Enabled:=clipboard.HasFormat(CF_TEXT);
end;

大功告成!当我抬起头,嘿嘿,老鸟正对着我笑呢!

“你是不是想做个记事本啊,再考虑考虑文件保存

转载请注明:落伍老站长 » 初学delphi(一)——复制和粘贴

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址