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

 

Пример:

Code:

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;

 

 

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить