![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как в компоненте 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, а выделение текста вообще запретите