Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как в компоненте TEdit включить замену..... [D6, Win2k]


N A N ©   (2002-06-26 13:29:00) 

Как в компоненте TEdit включить замену.....
Ну т.е. кода нажимаешь Insert и символы вставляются, нажимаешь еще Insert и символы заменяются....


N A N   (2002-06-26 16:14:00) [1]

Kaban © (26.06.02 16:00)


Спасибо огромное


Ocean   (2002-06-26 16:03:00) [2]

Почему бы не использовать какой-нибудь RichEdit высотой в 1 строку, с контролем клавиш типа Enter?


Kaban   (2002-06-26 16:00:00) [3]

На вскидку в OnKeyPress:
var S:String;
begin
S:=Edit1.Text;
with Edit1 do
if SelLength = 0 then // Если текст не выделен
if InsertFlag then // Если Ins включен
if Edit1.SelStart<>Length(Edit1.Text) then
// Если курсор стоит не в конце строки
begin
S[SelStart+1]:=Key;
Text:=S;
end;
end;
Идея ясна?


N A N   (2002-06-26 15:43:00) [4]

а как реализовать-то эту вставку/замену блин!


Kaban   (2002-06-26 15:39:00) [5]

честно говоря не знаю.
М.б. обрабатывать нажатие Shifta со стрелками и движение мыши и сбрасывать SelLen в 0. По моему геморой. Лучше откажитесь от этого способа.


N A N   (2002-06-26 15:36:00) [6]

2 kaban

> а выделение текста вообще запретите


как?


Игорь Шевченко   (2002-06-26 15:16:00) [7]

Фикус © (26.06.02 14:49)

Торможу со страшной силой :-)))


N A N   (2002-06-26 14:54:00) [8]

как я понял встроенной возможности включать режим вставки/замены нет. Надо это запрограмировать ручками....


Фикус   (2002-06-26 14:49:00) [9]


> Игорь Шевченко

навскидку, просто ввести переменную типа boolean


Игорь Шевченко   (2002-06-26 13:52:00) [10]

Фикус © (26.06.02 13:44)

Вопрос по-иному: как узнать, в каком режиме (вставка/замена) находится некий TEdit ?


Kaban   (2002-06-26 13:46:00) [11]

ну да, правильно. совсем торможу


Фикус   (2002-06-26 13:44:00) [12]

ответ уже был, обрабатывать нажатие клавиши Ins


N A N   (2002-06-26 13:41:00) [13]

ничо не понял причем здесь дос.

Кода в ворде редактируешь текст, то можно либоб писать поверх написанного текста(замена), либо вставлять текств предложение..

Как это сделать в TEdit. Там нажимаешь Insert и текст также вставляется а не заменяется....
Как?


Игорь Шевченко   (2002-06-26 13:38:00) [14]

Kaban © (26.06.02 13:32)

Это не досовский подход, и в Windows он используется.
Попробуйте при вводе ответа нажать Insert :-)))


Kaban   (2002-06-26 13:32:00) [15]

Это Dos-овский подход, в Windows он не используется. Если уж вам так хочется обрабатывайте нажатие клавиши Ins и делайте SelLen=1, а выделение текста вообще запретите


Наверх

Титульная страница Поиск, карта сайта Написать письмо