Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.01.24;
Скачать: CL | DM;

Вниз

Вставка/замена в TEdit   Найти похожие ветки 

 
ZEE   (2001-09-16 03:33) [0]

Возможно ли осуществлять смену режимов вставки и замены в компонентах TEdit, если да - то как?


 
Никто   (2001-09-16 03:51) [1]

Клавиша "Insert". Один раз нажмешь - вставка, другой раз - замена.
Шутка.


 
Юрий Зотов   (2001-09-16 08:23) [2]

За абсолютную правильность не ручаюсь (писал "с ходу"), но должно работать.

type
TForm1 = class(TForm)
Edit1: TEdit;
procedure Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
private
FOwerwrite: boolean;
end;

procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if (Shift = []) and (Key = VK_INSERT) then FOwerwrite := not FOwerwrite
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var
S: string;
OldPos: integer;
begin
with Edit1 do
if FOwerwrite and (Ord(Key) > 31) and (SelStart < Length(Text)) and (SelLength = 0) then
begin
S := Text;
OldPos := SelStart;
S[SelStart + 1] := Key;
Key := #0;
Text := S;
SelStart := OldPos + 1
end
end;


 
Юрий Зотов   (2001-09-16 09:09) [3]

Сразу не сообразил. Есть более простой вариант. Он лучше еще и тем, что здесь не возникает неувязка с OnChange, которая есть в предыдущем варианте (там при OnChange нарушено SelStart, что неправильно).

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
with Edit1 do
if FOwerwrite and (Ord(Key) > 31) and (SelStart < Length(Text)) and (SelLength = 0) then SelLength := 1
end;

Остальное то же самое.


 
Olgerd   (2001-09-17 01:50) [4]

Вопрос может быть немного не по теме, но как в TRichEdit программно нажать Insert, что переключать режим вставки/замены?


 
Лариса   (2001-11-19 18:18) [5]

Используйте библиотеку dx.
TdxEdit без проблем поддерживает смену режимов.


 
LLL   (2001-11-23 20:01) [6]

А, что это за библиотека dx?
И где её можна глянуть?



Страницы: 1 вся ветка

Текущий архив: 2002.01.24;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.004 c
3-75514
ray_wagner
2001-12-19 08:45
2002.01.24
Вопрос про DBGrid


4-75709
Roman_
2001-11-22 21:59
2002.01.24
Чертов PaintBox


3-75501
dinamit
2001-12-18 22:00
2002.01.24
Ничего не могу понять


3-75478
Supostat
2001-12-19 16:42
2002.01.24
Клиентские места и BDE


1-75552
Satrap
2001-12-28 13:19
2002.01.24
Описание классов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский