RichTextBoxで表示されている最初の行を取得する方法?

解決


ねろ  2003-07-17 01:28:54  No: 107801

教えて下さい。
RichTextBoxで表示されている最初の行を取得する方法と、特定の行を最初の行にセットする方法。


岡田 之仁  2003-07-17 04:35:48  No: 107802

RichTextBoxのTextに格納されるデータ形式は、行毎に、CR・LFが付いた形
で入っていますので、1行目を取得したいなら、先頭から初めてのCR・LFま
でを切り出せばOKです。

特定の行データは、先頭からCR・LFを特定の行まで繰り返し検索してやれば
得られますので、簡単に行いたいなら、文字列配列に先頭行から順じCR・LF
を区切り記号として切り出し、配列番号で入替え等を行ってやれば、目的の
ことが得られると思います。

お試し下さい。

以上。


たかみちえ  URL  2003-07-17 05:22:29  No: 107803

表示している一番上の行なら、リッチテキストボックスにEM_GETFIRSTVISIBLELINEメッセージを送ればわかります。

  行にキャレットを移動する方法は、EM_LINEFROMPOSなどのメッセージを送って、
最後にEM_SETSELで移動します。(SelStartでも可)
  参考になりそうなサイトがたくさんあると思うので、Googleなどで検索してみてください。


ねろ  2003-07-17 17:59:42  No: 107804

まずお詫び:同じ質問を2つしましたすいません。
お礼:たかみちえ様
EM_GETFIRSTVISIBLELINEで表示先頭行がばっちり取れました。
EM_LINEFROMPOSがAPIにちょっと無かったので指定行までEM_SCROLLでおくりました。
EM_GETFIRSTVISIBLELINEをKEYにGoogleで検索しました。ほかにも使えそうな
ことが色々解りました。
ハマっていたところなので助かりました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加