Moin,
Ich hab folgende Sache, das auslesen der akt. Cursorposition in einem Memo:
Delphi-Quellcode:
procedure TFormX.GetMemoCaretPos;
begin
Statusbar1.Panels[0].Text := format('Zeile %d Spalte %d',
[MemoX.CaretPos.Y+1, MemoX.CaretPos.X+1]);
end;
procedure TFormX.MemoXKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
GetMemoCaretPos;
end;
procedure TFormX.MemoXMouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
begin
if Shift = [ssLeft] then GetMemoCaretPos;
end;
Soweit so gut.
Nun ist es aber so, dass wenn man mit der Maus im Memo Text mark. und zwar von unten nach oben die Caretpositon nicht richtig angezeigt. Die CaretPos.Y bleibt auf der letzten Position (wo das markieren des Textes begonnen hat) stehen und wird nicht korr. angezeigt. Wieso und wie könnte man das richtig anzeigen lassen?