Mmhh.
Erstmal sind die immer Standardmäßig aktiv. Mit Strg+0..9 kannst du zu einem springen und mit Strg+Shift+0..9 kannst du einen setzen.
Zum Setzen eines Bookmarks hab ich folgenden Code:
Delphi-Quellcode:
if EditFeld.IsBookmark(Tag) then
begin
EditFeld.GetBookMark(Tag,X,Y);
if Y=EditFeld.CaretY then
begin
EditFeld.ClearBookMark(Tag);
ImageIndex:=-1;
exit;
end;
end;
EditFeld.SetBookMark(Tag,EditFeld.CaretX,EditFeld.CaretY);
ImageIndex:=Tag;
Tag gibt dabei die Nummer des Bookmarks an (0..9). Schaue also, ob an der aktuellen Position der Bookmark gerade gesetzt ist, wenn ja wird er gelöscht. Ansonsten wird er immer an die aktuelle Position (EditFeld.CaretX und EditFeld.CaretY) gesetzt.
Um zu einer Marke zu springen musst du nur EditFeld.GotoBookMark(Tag) machen.