スクロールと自動スクロール
- SCI_LINESCROLL(int column, int line)
- SCI_SCROLLCARET
- SCI_SETXCARETPOLICY(int caretPolicy, int caretSlop)
- SCI_SETYCARETPOLICY(int caretPolicy, int caretSlop)
- SCI_SETVISIBLEPOLICY(int caretPolicy, int caretSlop)
- SCI_SETHSCROLLBAR(bool visible)
- SCI_GETHSCROLLBAR
- SCI_SETVSCROLLBAR(bool visible)
- SCI_GETVSCROLLBAR
- SCI_GETXOFFSET
- SCI_SETXOFFSET(int xOffset)
- SCI_SETSCROLLWIDTH(int pixelWidth)
- SCI_GETSCROLLWIDTH
- SCI_SETSCROLLWIDTHTRACKING(bool tracking)
- SCI_GETSCROLLWIDTHTRACKING
- SCI_SETENDATLASTLINE(bool endAtLastLine)
- SCI_GETENDATLASTLINE
SCI_LINESCROLL(int column, int line)
これは、あなたが指定するカラムと行で表示をスクロールするのを試みる。
プラスの行値はスクリーンの上部で行番号を増加させる(すなわち、ユーザに関する限り、上向きにテキストを動かす)。マイナスの行値は逆である。
カラム測定はデフォルトスタイルのスペースの幅である。
プラス値はビューの左端でカラムを増加させる(すなわち、ユーザに関する限り、左へテキストを動かす)。マイナス値は逆である。
関連項目: SCI_SETXOFFSET
SCI_SCROLLCARET
現在の位置(選択が全くなければ、これはキャレットである)が目に見えないなら、ビューは、それを現在のキャレットポリシーによると、見えるようにスクロールされる。
SCI_SETXCARETPOLICY(int caretPolicy, int caretSlop)
SCI_SETYCARETPOLICY(int caretPolicy, int caretSlop)
これらはキャレットポリシーを設定する。
caretPolicy値はCARET_SLOP、CARET_STRICT、CARET_JUMPS、およびCARET_EVENの組み合わせである。
CARET_SLOPをもしセットすれば、slop値を定義できる: caretSlop。
この値は脱字記号がそうである求められていないゾーン(UZ)を定義する...求められない。
このゾーンは垂直なマージンにおけるピクセル数、および水平なマージンにおける行数と定義される。
端からキャレットを遠ざけることによって、それは文脈の中で見られる。
これで、キャレットがある識別子を完全に見ることができるそうであり、現在行はそれに続く行のいくつかが見える。しばしばその線に依存している。
CARET_STRICTをセットすればCARET_SLOPによってセットされるポリシーは強制される...厳しく。
caretSlopが用意ができていないなら、キャレットは表示のときに集中させられ、caretSlopが用意ができているなら、UZに入ることができない。
CARET_JUMPSをセットすれば、ポリシーが再び適用される前にキャレットが、より長い間同じ指示に入って来ることができるように、表示はよりエネルギッシュに動かされる。
'3UZ'記法は、3が距離としてUZのサイズをマージンに調節するのを示すのに使用される。
CARET_EVEBがセットされてなければ、対称のUZsを持っている代わりに、左および下のUZsは右および上UZsまで拡張される。
このように私たちは役立つ情報の表示を支持する: 行の開始、ほとんどのコードがあるところ、そしてキャレットの後ろの行、たとえば、関数の本体。
表: キャレット位置
| slop | strict | jumps | even | キャレットはマージンに移動可能 | 限界に到達したときの表示(表示外へ出たかUZに入った) |
| 0 | 0 | 0 | 0 | Yes | キャレットを上/右に置くため移動 |
| 0 | 0 | 0 | 1 | Yes | 1つの位置によって移動 |
| 0 | 0 | 1 | 0 | Yes | キャレットを上/右に置くため移動 |
| 0 | 0 | 1 | 1 | Yes | キャレットの中央 |
| 0 | 1 | - | 0 | キャレットは常に表示の上/右 | - |
| 0 | 1 | - | 1 | No, キャレットは常に中央 | - |
| 1 | 0 | 0 | 0 | Yes | キャレットを非対称のUZの外に置くため移動 |
| 1 | 0 | 0 | 1 | Yes | キャレットをUZ外に置くため移動 |
| 1 | 0 | 1 | 0 | Yes | キャレットを上または右マージンの3UZに置くため移動 |
| 1 | 0 | 1 | 1 | Yes | キャレットをマージンの3UZに置くため移動 |
| 1 | 1 | - | 0 | キャレットは常に上/右マージンのUZ | - |
| 1 | 1 | 0 | 1 | No, UZを保つ | 1つの位置によって移動 |
| 1 | 1 | 1 | 0 | No, UZを保つ | キャレットをマージンの3UZに置くため移動 |
SCI_SETVISIBLEPOLICY(int caretPolicy, int caretSlop)
これは、SCI_ENSUREVISIBLEENFORCEPOLICYが呼ばれるとき、垂直な位置決めがどのように決定しているかを決定する。
それはポリシー引数にVISIBLE_SLOPとVISIBLE_STRICTフラグを要する。
それはSCI_SETYCARETPOLICY(int caretPolicy, int caretSlop)操作と同様である。
SCI_SETHSCROLLBAR(bool visible)
SCI_GETHSCROLLBAR
想定された幅にそれを必要とする場合にだけ、水平スクロールバーを表示する。
それを見るのを望まないなら、SCI_をSETHSCROLLBAR(0)を呼ぶ。
SCI_SETHSCROLLBAR(1)を使用して、再びそれを可能にする。
SCI_GETHSCROLLBARは現在の状態を返す。
必要であると、デフォルト状態はそれを表示する。
関連項目: SCI_SETSCROLLWIDTH.
SCI_SETVSCROLLBAR(bool visible)
SCI_GETVSCROLLBAR
デフォルトでは、垂直スクロールバーは必要なときに常に表示される。
SCI_SETVSCROLLBARで非表示または表示を選択し、SCI_GETVSCROLLBARで現在の状態を取得する。
SCI_SETXOFFSET(int xOffset)
SCI_GETXOFFSET
xOffsetはテキスト視点の始まりのピクセルの水平スクロール位置である。
0の値はビューの左に見える最初のテキストカラムがある通常位置である。
関連項目: SCI_LINESCROLL
SCI_SETSCROLLWIDTH(int pixelWidth)
SCI_GETSCROLLWIDTH
性能のために、Scintillaは水平スクロールバーの特性を決定するためにドキュメントの表示幅を測定しない。
代わりに、想定された幅が使用される。
これらのメッセージは、想定されたピクセルのドキュメント幅をセットおよび取得する。
デフォルト値は2000である。
現在目に見える行の幅をスクロールできるのを保証するには、SCI_SETSCROLLWIDTHTRACKINGを使用する。
SCI_SETSCROLLWIDTHTRACKING(bool tracking)
SCI_GETSCROLLWIDTHTRACKING
スクロール幅の追跡が有効なら、スクロール幅は、現在表示されている行のすべてを完全にスクロールできるのを保証するように調整される。
このモードは、より狭くなるようにスクロール幅を決して調整しない。
SCI_SETENDATLASTLINE(bool endAtLastLine)
SCI_GETENDATLASTLINE
SCI_SETENDATLASTLINEがスクロール範囲を設定するので、最大スクロール位置はビュー(デフォルト)の下部に最終行を持っている。
これをfalseにセットすると、最終行の1ページ下にスクロールすることを許容する。