Hello!
I need to make TRichViewEdit to act like MS Word when user wants to change current list item level with TAB key.
Example.
Let's say a user has activated numbered list input. At first "1. " appears. He enters some text for this item:
1. First item
and presses "Enter". Then the "2." appears like this:
1. First item
2.
and now user presses TAB key and "2." turns to "a." with item level changed to one level deeper, like this:
1. First item
a. Second item.
By default RVE inserts just tab in the place of caret. Is it possible to implement needed behavior?
Numbered lists and TAB key
-
- Site Admin
- Posts: 17569
- Joined: Sat Aug 27, 2005 10:28 am
- Contact:
I modified a "smart indent" code to support numbered paragraphs:
http://www.trichview.com/forums/viewtop ... =8065#8065
Specifically, the following code changes a list level:
http://www.trichview.com/forums/viewtop ... =8065#8065
Specifically, the following code changes a list level:
Code: Select all
rve := rve.TopLevelEditor;
if rve.SelectionExists then
exit;
if (Step>0) and (rve.OffsetInCurItem<=rve.GetOffsBeforeItem(rve.CurItemNo)) and
(rve.CurItemNo>0) and (rve.GetItemStyle(rve.CurItemNo-1)=rvsListMarker) then begin
// changing list level
rve.GetListMarkerInfo(rve.CurItemNo, ListNo, ListLevel, StartFrom, Reset);
if (ListNo>=0) and (ListNo<rve.Style.ListStyles.Count) and
(ListLevel+1<rve.Style.ListStyles[ListNo].Levels.Count) then begin
rve.ChangeListLevels(+1);
Result := True;
end;
exit;
end;