4

为什么无法将 TDBMemo 组件中的选定文本复制到剪贴板?德尔福 7,Windows Vista。以下代码无法捕获 ctrl+c 事件,而 ctrl+a 工作正常。

uses clipbrd;

    procedure THierarchierForm.dbm1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin

    if (Key=Ord('A')) and (ssCtrl IN Shift) then begin
    dbm1.SelectAll;
    Key:=0;
    end;

    if (Key=Ord('C')) and (ssCtrl IN Shift) then begin
    Clipboard.AsText:=dbm1.SelText;
    Key:=0;
    end;

    end;

谢谢

4

1 回答 1

3

您提供的代码在普通格式的上下文中工作。一定有别的东西在干扰。

最明显的是您的表单已KeyPreview设置True,因此您的表单可以处理CTRL+C.

请注意,我坚持我在对您的问题的评论中表达的保留意见。

于 2011-02-07T00:08:56.413 回答