ActionList与FindDialog的兼容性 (100分)

  • 主题发起人 主题发起人 LeonSu
  • 开始时间 开始时间
L

LeonSu

Unregistered / Unconfirmed
GUEST, unregistred user!
新建一个窗体,上面放三个控件:Memo,ActionList,FindDialog。
增加三个Action:EditCopy,EditPaste,EditFind。
快捷键分别为:Ctrl+C,Ctrl+V,Ctrl+F。
(代码在最后)
运行,在MEMO中选择一段字符,按下CTRL+C(复制到剪贴板),按下Ctrl+F调出查找对话框,
最后按下Ctrl+V......不对了,是不是,应该粘贴到对话框中的EDIT中的字符串,跑到Memo中
去了。
如何把粘贴的快捷键去掉,就没问题了,但我必须要快捷键,而且只能是Ctrl+V。
(同样的问题也出现在快捷键Del上)
如何完美的解决?


unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ActnList, StdActns;

type
TForm1 = class(TForm)
ActionList1: TActionList;
EditPaste1: TEditPaste;
Memo1: TMemo;
EditCopy1: TEditCopy;
FindDialog1: TFindDialog;
Action1: TAction;
procedure EditPaste1Execute(Sender: TObject);
procedure EditCopy1Execute(Sender: TObject);
procedure Action1Execute(Sender: TObject);
var Handled: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.EditPaste1Execute(Sender: TObject);
begin
Memo1.PasteFromClipboard;
end;

procedure TForm1.EditCopy1Execute(Sender: TObject);
begin
Memo1.CopyToClipboard;
end;

procedure TForm1.Action1Execute(Sender: TObject);
begin
FindDialog1.Execute;
end;

end.
 
后退
顶部