SSpread

Q1 35
カーソル位置を見やすくしたい
[内容]
ビジュアルスタイルまたは標準スタイルの場合に、拡張スタイルと同様に
カーソル位置が分かるようにしたい


A1 35
SSpreadのAppearanceStyleプロパティが拡張スタイル($AppearanceStyleEnhanced)
以外の場合、カーソルセルの行ヘッダ、列ヘッダに色はつきません。

ビジュアルスタイルまたは標準スタイルでカーソル位置を見やすくするには、
CRSスクリプトでカーソルカラーを設定する方法があります。

[サンプルイメージ]
1.ビジュアルスタイル
2.標準スタイル

制御はSSpreadクラスのAfterLeaveCellイベントを利用します。
AfterLeaveCellイベントでは、移動先と移動元のセルの位置を取得する事ができます。
これを利用してカーソルカラーの設定を行います。
また、GetFocusイベントハンドラにも同様の処理を記述し、初期表示時にフォーカスが
当たっているSSpreadのセル位置にカーソルカラーを設定します。
詳細は以下のサンプルソースをご覧ください。

[サンプルコード]
・・・(略)・・・
SSpread SSpread1 {
        ・・・(略)・・・
        /* SSpreadのデザインを設定 */
        AppearanceStyle = $AppearanceStyleVisualStyles;
        /* 背景色のスタイルを設定 */
        BackColorStyle = $BackColorStyleUnderGrid;
        
        Function OnAfterLeaveCell( e ) {
                
                /* 移動元セルの背景色を設定 */
                col = e.Col;
                row = -1;
                BgColor = $STD;
                
                col = -1;
                row = e.Row;
                BgColor = $STD;
                
                col = e.Col;
                row = e.Row;
                BgColor = $STD;
                
                /* 移動後セルの背景色を設定 */
                if(e.NewCol ==  -1 || e.NewRow ==  -1){
                        col = -1;
                        row = -1;
                }else{
                        col = e.NewCol;
                        row = -1;
                        BgColor = $CCFFFF;
                        
                        col = -1;
                        row = e.NewRow;
                        BgColor = $CCFFFF;
                        
                        /* 行と列の交差点は別色に設定 */
                        col = e.NewCol;
                        row = e.NewRow;
                        BgColor = $CCCCFF;
                }
        }
        
        Function OnGetFocus( e ) {
                
                /* セルの背景色を設定 */
                col = ActiveCol;
                row = -1;
                BgColor = $CCFFFF;
                
                col = -1;
                row = ActiveRow;
                BgColor = $CCFFFF;
                
                /* 行と列の交差点は別色に設定 */
                col = ActiveCol;
                row = ActiveRow;
                BgColor = $CCCCFF;
        }
 }
・・・(略)・・・

実際の挙動については、CRSファイル形式のサンプル
 「カーソル位置を見やすくしたい(Sspd50_035.zip)」
をご確認ください。

管理番号:Sspd50_035
  Biz-Collections Bizの宝箱 トップへ
  Biz/Browser V・Biz/Designer V TIPS集 トップへ