richeditでマイナスのlengthを取得したい

解決


ごんすけ  2025-05-30 12:56:16  No: 152035  IP: [192.*.*.*]

tricheditで質問なんですが、richedit1.selstartやrichedit1.sellengthを行うと始点から左に動かしても右に動かしても+の数が返ってきます。

そこで、左or上ならマイナスのindexやlength、右or下ならプラスのindexやlengthを取得したい場合はどのように行えばいいでしょうか?

編集 削除
AAAAA  2025-05-31 04:37:34  No: 152036  IP: [192.*.*.*]


procedure TForm1.RichEdit1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begfin
    SAVE_SelStart := RichEdit1.SelStart;
end;

procedure TForm1.RichEdit1SelectionChange(Sender: TObject);
begin
    if SAVE_SelStart = RichEdit1.SelStart then
    begin
   //右側に移動
    end
    else
    begin
     //左側に移動
   SelLength = RichEdit1.SelLength * -1
    end;
end;

編集 削除
ごんすけ  2025-05-31 08:23:06  No: 152037  IP: [192.*.*.*]

AAAAA様、動作確認できました。
ありがとうございます。

richeditorはあまり使う事が無かったのでSelectionChangeというイベントすら目に入っていなかったので
助かりました。ずっとmausedown、mouseup、mousemoveやcaretposあたりだと思い込んでいましたので
AAAAA様がいなかったらむりでした(>_<)

編集 削除