Textボックスで選択されている行番号を取得するには?

解決


まぼろし  2005-05-06 09:52:35  No: 121473  IP: [192.*.*.*]

タイトルのとおりなんですが、
textボックスで選択されている行番号を取得するにはどうしたらいいのでしょうか?
複数選択されている場合と1つだけ選択されている場合の方法を教えていただけたら助かります。
どなたかご教授よろしくお願いします。

編集 削除
ささ  2005-05-06 10:16:40  No: 121474  IP: [192.*.*.*]

え?textボックスで行番号
イメージわかないなぁ〜

編集 削除
まぼろし  2005-05-06 10:27:56  No: 121475  IP: [192.*.*.*]

えと、textボックスで選択されている行は何行目かを返したいわけです。
textボックスに表示されているのが以下のような場合

A=10
B=21
C=6
D=30
E=3

範囲指定しているところが"C=6"なら3を返す・・・という具合です。
リストボックスで選択されているインデックスの取得をする方法は知っているのですが
似たようなことをtextボックスではできないのでしょうか?

編集 削除
あんび  2005-05-06 10:50:41  No: 121476  IP: [192.*.*.*]

VB6と仮定してますが、以下を組み込んで試してみてください。
Yに選択行、Zに選択されている行数が入ります。
難しい事をしていないので、ヘルプなどで調べてください。

Dim x   As Long
Dim y   As Long
Dim z   As Long
    x = 0
    y = 1
    z = 1
    Do
        x = InStr(x + 1, Text1.Text, vbCrLf)
        If x <= 0 Then Exit Do
        If x < Text1.SelStart Then y = y + 1
        If (x > Text1.SelStart) And (x < Text1.SelStart + Text1.SelLength) Then z = z + 1
    Loop

編集 削除
まぼろし  2005-05-06 10:58:59  No: 121477  IP: [192.*.*.*]

あんび様ありがとうございました♪

予定通り動きましたので、これからプログラムの意味を調べてみようと思います。

またなにかありましたらよろしくお願いします。

編集 削除
 2005-05-06 12:02:55  No: 121478  IP: [192.*.*.*]

EM_GETLINE?

編集 削除