Вверх ↑
Этот топик читают: Гость
Ответов: 1886
Рейтинг: 164
#1: 2009-04-17 21:22:51 ЛС | профиль | цитата
Мне нужно вставлять табуляцию в RichEdit. Когда на форме только один этот компонент, всё нормально:

Add(RichEdit,2593538,119,147)
{
Left=25
Top=10
Width=205
Height=175
Point(onChar)
link(onChar,5025340:doConvert,[(163,160)(163,125)])
}
Add(Case,15356048,231,119)
{
Value=Integer(9)
DataOnTrue=Integer(9)
link(onTrue,1645663:doConvert,[])
}
Add(Convertor,5025340,175,119)
{
Mode=3
link(onResult,15356048:doCase,[])
}
Add(Convertor,1645663,280,126)
{
Mode=4
link(onResult,2593538:doAdd,[(324,132)(324,142)(107,142)(107,153)])
}

Но когда ставлю ещё один - при нажатии Tab происходит передача фокуса.

Add(RichEdit,2593538,119,147)
{
Left=25
Top=10
Width=205
Height=175
Point(onChar)
link(onChar,5025340:doConvert,[(163,160)(163,125)])
}
Add(Case,15356048,231,119)
{
Value=Integer(9)
DataOnTrue=Integer(9)
link(onTrue,1645663:doConvert,[])
}
Add(Convertor,5025340,175,119)
{
Mode=3
link(onResult,15356048:doCase,[])
}
Add(Convertor,1645663,280,126)
{
Mode=4
link(onResult,2593538:doAdd,[(324,132)(324,142)(107,142)(107,153)])
}
Add(Button,2459243,168,273)
{
Left=250
Top=70
}

(Версия HiAsm 4.01 build 175)

Чтобы этого не происходило, в коде
procedure THIRichEdit.Init;
var Flags:TEditOptions;
begin
Flags := [eoMultiline,eoNoHideSel,eoNoVScroll,eoNoHScroll];


нужно дополнить:

procedure THIRichEdit.Init;
var Flags:TEditOptions;
begin
Flags := [eoWantTab,eoMultiline,eoNoHideSel,eoNoVScroll,eoNoHScroll];


Однако, на мой взгляд, лучше сделать это опционально.

Это моя рекомендация по улучшению компонента.
карма: 7
0
vip
#1.1контекстная реклама от партнеров
Администрация
Ответов: 15294
Рейтинг: 1515
#2: 2009-04-17 21:57:32 ЛС | профиль | цитата
добавлено
карма: 26
0
Ответов: 1886
Рейтинг: 164
#3: 2009-04-19 17:31:34 ЛС | профиль | цитата
Также можно добавить это и для Edit и Memo. Будет очень полезно.
ps. В Edit при вставке табуляции будет вставляться чёрный квадратик, однако даже так это св-во может принести пользу.

[size=-2]------ Добавлено в 17:31
А для того чтобы табуляцию не приходилось ловить по onChar, можно добавить в код Edit и Memo
Control.EditTabChar;
. Конечно, это тоже нужно опционально.
карма: 7
0
3
Сообщение
...
Прикрепленные файлы
(файлы не залиты)