Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#2

Re: Memo (LMDTools) Zeilennummer mit OnMarginRowPaint Event

  Alt 8. Nov 2009, 10:25
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 MSDN-Library durchsuchenEM_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 MSDN-Library durchsuchenEM_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?
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat