C#でScintillaコンポーネントの最初に表示される(上)および最後に表示される(下)行番号を取得するにはどうすればよいですか? たとえば、テキストをスクロールして 5 行目から 41 行目を表示できた場合 (折り畳みなし、現時点でコンポーネントによって表示される行数です。残りはスクロールする必要があります)、どのようにこれらの数値をプログラムで取得できますか?
質問する
1834 次
2 に答える
3
Scintilla で何かを行う方法を知りたい場合は、最初に立ち寄る必要があるのは、常にコアScintilla ドキュメントです。これは包括的で、通常は完全に最新の状態に保たれています。
必要なことを行う正しい方法は、SCI_GETFIRSTVISIBLELINEメッセージを使用して最初の行を取得し、次にSCI_LINESONSCREENメッセージを使用して最後の行を計算することです。
これらのメッセージには、おそらく Scintilla.NET ラッパー メソッドが存在します。しかし、Scintilla.NET のドキュメントは非常に貧弱で、その API の完全な説明を提供していません。ただし、ラッパーが何であるかを推測できない場合は、(ドキュメントに記載されている) メソッドをいつでも使用してメッセージを直接送信できると思いますSendMessageDirect
。メソッドが呼び出されます。
于 2013-11-06T20:03:22.087 に答える
1
ScintillaNET 2 の場合は次のようになります。
scintilla.Lines.FirstVisibleIndex
scintilla.Lines.VisibleCount
ScintillaNET 3 では、コア scintilla に似た名前にリファクタリングされました。
scintilla.FirstVisibleLine
scintilla.LinesOnScreen
于 2015-08-22T16:34:05.557 に答える