Почему CTRL + C не работает на компоненте TMemo? (Vista + Delphi 7) - PullRequest
3 голосов
/ 07 февраля 2011

почему нельзя скопировать выделенный текст в компоненте TDBMemo в буфер обмена? DELPHI 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;

Thanx

1 Ответ

3 голосов
/ 07 февраля 2011

Код, который вы представляете, работает в контексте простой ванильной формы.Должно быть что-то еще мешающее.

Наиболее очевидным является то, что ваша форма имеет KeyPreview set True, и поэтому ваша форма обрабатывает CTRL+C.

Обратите внимание, что я поддерживаю мои оговоркивыражается в комментарии к вашему вопросу.

...