为什么 CTRL+C 在 TMemo 组件上不起作用? (Vista+德尔福7)

发布于 2024-10-15 22:36:38 字数 480 浏览 2 评论 0原文

为什么无法将 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;

谢谢

why it is not possible to copy selected text in TDBMemo component into clipboard?
DELPHI 7, Windows Vista.
Following code fails to catch ctrl+c event, whereas ctrl+a works fine.

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;

Thanx

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

柠北森屋 2024-10-22 22:36:38

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

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

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

The code you present works in the context of a plain vanilla form. There must be something else interfering.

The most obvious is that your form has KeyPreview set True and so your form handles CTRL+C.

Note that I stand by my reservations expressed in the comment to your question.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文