/***************************************************** SARI interface ISRDisplay (ver.1.0)解説 1999/12 by Kazuhiro Kito_ *****************************************************/ 【概説】 SARIの表示系を扱うインターフェースです。 デュアルインターフェースです。 外部から直接生成することはできません。インターフェースを得るには、ISRAPL インターフェースのCreateDisplayObjectメソッドを使います。 またSARIのメインウィンドウが作成された後でなければ、このインターフェース を取得することはできません。 このインターフェースのメソッドの多くは、マクロ記述用インタプリタ言語ATION のメソッドの変形です。ATIONのヘルプの使用例も、参考になると思います。 (なをこの説明中に使うTRUEは0以外の数値, FALSEは0です。) 【メソッド】 HRESULT GetColor( [in]short stIndex, // 取得する表示色の種類 [out, retval]long *plColor // 表示色の格納用 ); <説明> 設定されている表示色のCOLORREF値をlong値として得ます。 第一パラメータには次の数値のいずれかを指定します。 0 背景色 1 文字色 2 改行記号の色 3 選択部分背景色 4 選択部分文字色 5 マークの色 6 コメントアウト文字色 7 強調単語文字色 8 全検索ハイライト表示の文字色 9 全検索ハイライト表示の背景色 100 IMEの背景色 101 IMEの入力文字色 102 IMEの変換対象文節(読み) 103 IMEの変換非対象文節 104 IMEの変換候補 HRESULT SetColor( [in]short stIndex, // 設定する表示色の種類 [in]long lColor // 設定するCOLORREF値 ); <説明> 表示色を変更します。第1パラメータに指定する表示色の種類は GetColorメソッドを見てください。 なを表示色を変更したときは、RedrawWindowメソッドでウィンドウを再 描画する必要があります。 HRESULT DisplayRowNumber( [in]VARIANT_BOOL bDisplay,// 行番号の表示・非表示 [in]VARIANT_BOOL bLogical // 論理行番号か表示行番号か ); <説明> 行番号の表示・非表示を切り替えます。 論理行番号を表示するときは第2パラメータをTRUE、表示行番号を表示 するときはFALSEにします。 変更を画面に反映させるためには、RedrawWindowメソッドでウィンドウ を再描画する必要があります。 HRESULT DisplayLineSeparator( [in]VARIANT_BOOL bDisplay // 改行記号の表示・非表示 ); <説明> 改行記号の表示・非表示を切り替えます。 変更を画面に反映させるためには、RedrawWindowメソッドでウィンドウ を再描画する必要があります。 HRESULT DisplayTab( [in]VARIANT_BOOL bDisplay // タブ文字の表示・非表示 ); <説明> タブ文字の表示・非表示を切り替えます。 変更を画面に反映させるためには、RedrawWindowメソッドでウィンドウ を再描画する必要があります。 HRESULT DisplayZenSpace( [in]VARIANT_BOOL bDisplay // 全角空白の表示・非表示 ); <説明> 全角空白の表示・非表示を切り替えます。 変更を画面に反映させるためには、RedrawWindowメソッドでウィンドウ を再描画する必要があります。 HRESULT RedrawWindow(); <説明> ウィンドウを再描画します。 HRESULT IsVerticalView( [out, retval]VARIANT_BOOL *pbResult // 結果の格納用 ); <説明> アクティブなViewが縦書き表示かどうかを返します。縦書き表示なら TRUEが返します。 HRESULT SplitViewVertically(); <説明> 縦にウィンドウを2分割します。 HRESULT SplitViewHorizontally(); <説明> 横にウィンドウを2分割します。 HRESULT MaximizeUpperPane(); <説明> 上部のペイン(ウィンドウ)を最大化します。 HRESULT MaximizeLowerPane(); <説明> 下部のペイン(ウィンドウ)を最大化します。 HRESULT MaximizeLeftPane(); <説明> 左のペイン(ウィンドウ)を最大化します。 HRESULT MaximizeRightPane(); <説明> 右のペイン(ウィンドウ)を最大化します。 HRESULT ChangeActivePane( [in]short stRow, // アクティブ化するペインの縦位置 [in]short stCol, // アクティブ化するペインの横位置 [out,retval]VARIANT_BOOL *pbResult // 結果格納用 ); <説明> [stRow, stCol]で指定されるペインをアクティブ化します。stRow, stColともに0から始まるインデックスで、SARIは上下左右それぞれ2つ にしか分割できませんから、いずれも0もしくは1ということになりま す。 HRESULT ScrollTo( [in]long lRow, // 表示行番号 [out, retval]long *plAfterScroll // 結果格納用 ); <説明> 第1パラメータで指定する表示行が、ウィンドウの最上部(縦書き時は 最右部)に表示されるようにスクロールします。実際にその行が最上部 になるとは限りません。たとえば指定した行番号が文書の末尾で、ウィ ンドウが10行程度表示できる大きさだった場合、など、指定どおりに はなりません。第2パラメータには結果として最上部になった行の表示 行番号が返ります。