Почему CTRL+C не работает на компоненте TMemo? (Vista + Delphi 7)

Почему невозможно скопировать выделенный текст в компоненте 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 ответ

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

Наиболее очевидным является то, что ваша форма имеет KeyPreview задавать True и так ваша форма обрабатывает CTRL+C,

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

Другие вопросы по тегам