Режим вставки и замены

Режим вставки и замены Элементы управления Windows TEdit и TMemo не имеют режима замены. Однако этот режим можно эмулировать установив свойство SelLength edit'а или memo в 1 при обработке события KeyPress. Это заставит его перезаписывать символ в текущей позиции курсора. В примере этот способ используется для TMemo. Режим вставка/замена переключается клавишей "Insert".

type
 TForm1 = class(TForm)
  Memo1: TMemo;
  procedure Memo1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
  procedure Memo1KeyPress(Sender: TObject; var Key: Char);
 private
  {Private declarations}
  InsertOn : bool;
 public
  {Public declarations}
end;
var
 Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
 if (Key = VK_INSERT) and (Shift = []) then
  InsertOn := not InsertOn;
end;
procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);
begin
 if ((Memo1.SelLength = 0) and (not InsertOn)) then
  Memo1.SelLength := 1;
end;

http://delphiworld.narod.ru/ DelphiWorld 6.0

Отправить комментарий

Проверка
Антиспам проверка
Image CAPTCHA
...