Вверх ↑
Ответов: 1925
Рейтинг: 172
#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];


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

Это моя рекомендация по улучшению компонента.
карма: 9
0