This feature is much better implemented in the latest version available for registered users, than in the trial version.
1) Bookmarks.
RichView checkpoints are saved in bookmarks. Checkpoint name is used as bookmark name. The trial version can save bookmark. The last version can save and load them.
2) Links to bookmarks.
The last version automatically saves the link "#_Recording_List" as link to "_Recording_List" bookmark (and performs a reverse operation when loading). So standard code for OnReadHyperlink and OnWriteHyperlink is enough:
Code: Select all
procedure TfrmMain.rveReadHyperlink(Sender: TCustomRichView; const Target,
Extras: String; DocFormat: TRVLoadFormat; var StyleNo, ItemTag: Integer;
var ItemName: String);
begin
ItemTag := Integer(StrNew(PChar(Target)));
end;
procedure TfrmMain.rveWriteHyperlink(Sender: TCustomRichView; id: Integer;
RVData: TCustomRVData; ItemNo: Integer; SaveFormat: TRVSaveFormat;
var Target, Extras: string);
begin
Target := PChar(RVData.GetItemTag(ItemNo));
end;
In trial version, you can use OnWriteHyperlink event to add "\l" in Extras when necessary (but, as far as I know, it is not necessary in new versions of MS Word, they should understand "#"-links as well)
Update 2011-Oct-22: Starting from TRichView 13.3, the code must be:
Code: Select all
procedure TfrmMain.rveReadHyperlink(Sender: TCustomRichView; const Target,
Extras: String; DocFormat: TRVLoadFormat; var StyleNo: Integer;
var ItemTag: TRVTag; var ItemName: String);
begin
ItemTag := Target;
end;
procedure TfrmMain.rveWriteHyperlink(Sender: TCustomRichView; id: Integer;
RVData: TCustomRVData; ItemNo: Integer; SaveFormat: TRVSaveFormat;
var Target, Extras: string);
begin
Target := RVData.GetItemTag(ItemNo);
end;