Einzelnen Beitrag anzeigen

Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: cursor in der mitte des textes

  Alt 21. Apr 2006, 15:50
Hallo, herzlich willkommen!

Ich würde das mit

Memo1.SelStart := Memo1.SelStart - x; lösen. In eine (schlechte) Prozedur gefasst, könnte das so aussehen (der Cursor wird von hiter dem tag, zwischen die Tags gesetzt). Habe das nur schnell hingeschlampert, sorry, kannst du ja selbst optimieren und verfeinern:

Delphi-Quellcode:
procedure set_memo_cur(Memo: TMemo);
var
  i: Integer;
  Temp: string;
begin
  Temp := Memo.Lines[Memo.CaretPos.Y];

  if Length(Temp) > 0 then
  begin
    for i := Memo.SelStart downto 2 do
    begin
      if (Temp[i] = '<') and (Temp[i - 1] = '>') then
      begin
        Memo.SelStart := Memo.SelStart - i;
        Memo.SetFocus;
        break;
      end;
    end;
  end;
end;
Aufruf:

set_memo_cur(Memo1); Sieht der Memo-Text allerdings so aus, geht das nicht

Zitat:

Geht es um einen HTML-Editor, würde ich dir allerdings zum SynEdit raten, da kannst du direkt auf CaretX und CaretY zugreifen und hast gleichzeitig die ganzen Highlighter, damit der Code leserlich wird.
  Mit Zitat antworten Zitat