|
|
|
|
Как
добится того чтобы TMemo и TEdit имели работали не только в режиме вставки
символов, но и в режиме замены?
Элементы управления 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;
Источник:
Дельфи. Вокруг да
около.
|
Copyright ©
"Мастера DELPHI" E-mail:
delphi@mastak.com
http://www.delphimaster.ru |
Источник получения информации: http://www.delphimaster.ru
|
|