dポイントプレゼントキャンペーン実施中!

http://www.geocities.jp/asumaroyuumaro/program/t …

上記の頁を参考に次のようにしているのですがうまくいきません

pos_cur := RichEdit2.Perform(EM_LINEINDEX, UINT(-1), 0);
何か勘違いしていますか?

質問者からの補足コメント

  • 回答ありがとうございます。

    >カーソル位置の何を取得したいんですか?
    カーソル位置データ(何文字目かでも、何バイト目かでもOKです)です。

    pos_cur := RichEdit2.Perform(EM_LINEINDEX, UINT(-1), 0);
    Label19.Caption := IntToStr(pos_cur);
    確認のため、上記のようにLabelに表示しているのですが、0になります。

    No.1の回答に寄せられた補足コメントです。 補足日時:2015/05/02 05:08
  • 今はRichEditコンポーネントの動作確認段階で、FormにRichEdit(テキスト入力済み)、Buttonを置き、マウスでRichEditのカーソルを移動させ、buttonでその時の位置を取得するようにしています。

    また、
    pos_cur := RichEdit2.Perform(EM_LINEINDEX, UINT(-1), 0);
    の前に
    RichEdit2.SetFocus;
    を置いても同じです。

      補足日時:2015/05/02 08:22

A 回答 (1件)

RichEdit2.Perform(EM_LINEINDEX, UINT(-1), 0)


これは、提示されたサイトにも書いてあるように、カーソルがある行の先頭文字がテキスト全体の最初から何文字目になるかを返します。

カーソル位置の何を取得したいんですか?
それが分からないと、「何か勘違いしていますか?」と訊かれてもこたえようがありません。
この回答への補足あり
    • good
    • 0
この回答へのお礼

ありがとうございます。
http://afsoft.jp/program/del2010/p11_056.html
にあるCaretPosプロパティを使って
pos_cur := RichEdit2.CaretPos.X;
とすればうまくいくようです。
お手数をおかけして申し訳ありませんでした。

お礼日時:2015/05/02 11:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!