Du hast do den Gesamt-Text und weißt der erste Zeichen.
Da kannst du doch auch einfach nachsehn, in welcher Zeile dieses steckt?
notfalls einfach zählen
Delphi-Quellcode:
line := 0;
pos := 0;
while pos < firstChar do begin
inc(pos, length(memo.lines[line]));
inc(pos, sLineBreak);
inc(line);
end;
oder mal dieses probieren
EM_LINEFROMCHAR
Du hast do den Gesamt-Text und weißt der erste Zeichen.
Da kannst du doch auch einfach nachsehn, in welcher Zeile dieses steckt?
notfalls einfach zählen
Delphi-Quellcode:
line := 0;
pos := 0;
while pos < firstChar do begin
inc(pos, length(memo.lines[line]));
inc(pos, sLineBreak);
inc(line);
end;
oder mal dieses probieren
EM_LINEFROMCHAR
PS:
Delphi-Quellcode:
var
s: AnsiString;
begin
s := IntToStr(firstChar);
DrawTextA(Canvas.Handle, PAnsiChar(s), Length(s), aRect, DT_SINGLELINE or DT_RIGHT);
aber eigentlich müsste es auch so gehn
Delphi-Quellcode:
var
s: String;
begin
s := IntToStr(firstChar);
DrawText(Canvas.Handle, PChar(s), Length(s), aRect, DT_SINGLELINE or DT_RIGHT);
und warum nicht Canvas.TextOut bzw. Canvas.TextRect?