教えて下さい。
RichTextBoxで表示されている最初の行を取得する方法と、特定の行を最初の行にセットする方法。
RichTextBoxのTextに格納されるデータ形式は、行毎に、CR・LFが付いた形
で入っていますので、1行目を取得したいなら、先頭から初めてのCR・LFま
でを切り出せばOKです。
特定の行データは、先頭からCR・LFを特定の行まで繰り返し検索してやれば
得られますので、簡単に行いたいなら、文字列配列に先頭行から順じCR・LF
を区切り記号として切り出し、配列番号で入替え等を行ってやれば、目的の
ことが得られると思います。
お試し下さい。
以上。
表示している一番上の行なら、リッチテキストボックスにEM_GETFIRSTVISIBLELINEメッセージを送ればわかります。
行にキャレットを移動する方法は、EM_LINEFROMPOSなどのメッセージを送って、
最後にEM_SETSELで移動します。(SelStartでも可)
参考になりそうなサイトがたくさんあると思うので、Googleなどで検索してみてください。
まずお詫び:同じ質問を2つしましたすいません。
お礼:たかみちえ様
EM_GETFIRSTVISIBLELINEで表示先頭行がばっちり取れました。
EM_LINEFROMPOSがAPIにちょっと無かったので指定行までEM_SCROLLでおくりました。
EM_GETFIRSTVISIBLELINEをKEYにGoogleで検索しました。ほかにも使えそうな
ことが色々解りました。
ハマっていたところなので助かりました。
ツイート | ![]() |