Spread

Q

19

セルの右クリックで任意のコンテキストメニューを表示させたい

A 19
[解決方法]
SpreadColumnオブジェクトのRClickedイベントを利用して、PopupMenuメソッドを実行します。
PopupMenuメソッドは、選択されたメニューのIDを戻り値として受け取ることが出来ますので、
この戻り値を判断し、メニューに合わせた処理を行うことが可能です。


[サンプルコード]

Spread Spread1 {
    SpreadRow SpreadRow1[10] {
        Height = 20;
        SpreadColumn SpreadColumn1;
        SpreadColumn SpreadColumn2;
            :
            :
    }

    Function OnRClicked( e ) {
        /* 選択行のカーソルを右クリック位置に移動 */
        ColumnPosition = e.col;
        Value = e.row;

        /* 表示更新後、コンテキストメニュー表示処理を呼ぶ */
        SetTimer(0.1);
    }

    Function OnTimer( e ) {
        /* タイマー解除 */
        RemoveTimer();

        /* コンテキストメニュー作成 */
        var m1 = new String("行追加");  /* id=1 */
        var m2 = new String("行削除");  /* id=2 */
        var id = popupMenu(m1,m2);
        /* 選択されたメニューのidを判断し、処理を分岐 */
        var nowrow = Value;
        if(id == 1){
            SpreadRow1[nowrow].insert();
        }
        if(id == 2){
            SpreadRow1[nowrow].Delete();
        }
    }
}
CRSファイル形式のサンプルを
  「Spreadのセル上でコンテキストメニューを表示するサンプル (Spd_019.zip)
よりご利用いただけます。

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