Почему 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
,
Обратите внимание, что я поддерживаю мои оговорки, высказанные в комментарии к вашему вопросу.