Example #1
0
        /// <summary>
        /// スプレッド標準キー 無効処理(表示用)
        /// </summary>
        /// <param name="pspdObj">スプレッドシートインスタンス</param>
        /// <returns>true:正常終了 false:エラー</returns>
        /// <remark>
        /// 各起動時に実行してください。
        /// TAB:フォーカス移動用にします
        /// ESC:通常画面の終了に使用します など
        ///
        /// ※ スプレッド読み取り専用の場合必要なし(OperationModeの設定だけ)
        ///   標準でキーを取得したい場合に使用します
        /// </remark>
        public static bool InitDispInputMap(FpSpread pspdObj)
        {
            try
            {
                // WhenAncestorOfFocused 入力マップ
                // コントロールまたはその子にフォーカスがある場合(セル編集モード) 
                InputMap linpMap01 = pspdObj.GetInputMap(InputMapMode.WhenAncestorOfFocused);
                linpMap01.Put(new Keystroke(Keys.Escape, Keys.None), SpreadActions.None);   // ESC
                linpMap01.Put(new Keystroke(Keys.Tab, Keys.None), SpreadActions.None);      // TAB
                linpMap01.Put(new Keystroke(Keys.Enter, Keys.None), SpreadActions.None);    // Enter
                linpMap01.Put(new Keystroke(Keys.F2, Keys.None), SpreadActions.None);       // F2()
                linpMap01.Put(new Keystroke(Keys.F3, Keys.None), SpreadActions.None);       // F3
                linpMap01.Put(new Keystroke(Keys.F4, Keys.None), SpreadActions.None);       // F4
                linpMap01.Put(new Keystroke(Keys.Tab, Keys.Shift, false), SpreadActions.None);

                // WhenFocused 入力マップ
                // コントロールにフォーカスがある場合(セル非編集モード)
                InputMap linpMap02 = pspdObj.GetInputMap(InputMapMode.WhenFocused);
                linpMap02.Put(new Keystroke(Keys.Enter, Keys.None), SpreadActions.None);    // Enter

                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
Example #2
0
        ///<summary>
        /// spd的初始属性设置.(回车跳格,清除split,锁定行高列宽.直接更改文本)
        ///</summary>
        public static void SpdLoad(FpSpread ospd)
        {
            //回车进行到下一个单元格
            InputMap im;

            im = ospd.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenAncestorOfFocused);
            im.Put(new FarPoint.Win.Spread.Keystroke(Keys.Enter, Keys.None), FarPoint.Win.Spread.SpreadActions.MoveToNextColumnWrap);
            im.Put(new FarPoint.Win.Spread.Keystroke(Keys.F1, Keys.None), FarPoint.Win.Spread.SpreadActions.None);
            im.Put(new FarPoint.Win.Spread.Keystroke(Keys.F2, Keys.None), FarPoint.Win.Spread.SpreadActions.None);
            im.Put(new FarPoint.Win.Spread.Keystroke(Keys.F3, Keys.None), FarPoint.Win.Spread.SpreadActions.None);
            im.Put(new FarPoint.Win.Spread.Keystroke(Keys.F4, Keys.None), FarPoint.Win.Spread.SpreadActions.None);
            im.Remove(new FarPoint.Win.Spread.Keystroke(Keys.C, Keys.Control));
            im.Remove(new FarPoint.Win.Spread.Keystroke(Keys.V, Keys.Control));
            im.Put(new FarPoint.Win.Spread.Keystroke(Keys.C, Keys.Control), SpreadActions.Redo);
            im.Put(new FarPoint.Win.Spread.Keystroke(Keys.V, Keys.Control), SpreadActions.Redo);

            im = ospd.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenFocused);
            im.Put(new FarPoint.Win.Spread.Keystroke(Keys.Enter, Keys.None), FarPoint.Win.Spread.SpreadActions.MoveToNextColumnWrap);
            im.Put(new FarPoint.Win.Spread.Keystroke(Keys.F1, Keys.None), FarPoint.Win.Spread.SpreadActions.None);
            im.Put(new FarPoint.Win.Spread.Keystroke(Keys.F2, Keys.None), FarPoint.Win.Spread.SpreadActions.None);
            im.Put(new FarPoint.Win.Spread.Keystroke(Keys.F3, Keys.None), FarPoint.Win.Spread.SpreadActions.None);
            im.Put(new FarPoint.Win.Spread.Keystroke(Keys.F4, Keys.None), FarPoint.Win.Spread.SpreadActions.None);
            im.Remove(new FarPoint.Win.Spread.Keystroke(Keys.C, Keys.Control));
            im.Remove(new FarPoint.Win.Spread.Keystroke(Keys.V, Keys.Control));
            im.Put(new FarPoint.Win.Spread.Keystroke(Keys.C, Keys.Control), SpreadActions.Redo);
            im.Put(new FarPoint.Win.Spread.Keystroke(Keys.V, Keys.Control), SpreadActions.Redo);
            // 清除split按钮
            ospd.RowSplitBoxPolicy    = SplitBoxPolicy.Never;
            ospd.ColumnSplitBoxPolicy = SplitBoxPolicy.Never;
            //锁定列宽和行高
            //ospd.ActiveSheet.Columns[0, ospd.ActiveSheet.ColumnCount - 1].Resizable = false;
            //ospd.ActiveSheet.Rows[0, ospd.ActiveSheet.RowCount - 1].Resizable = false;
            //单元格进入后文本全选.
            ospd.EditModeReplace = true;
        }
Example #3
0
        ///<summary>
        /// spd的初始属性设置.(回车跳格,清除split,锁定行高列宽.直接更改文本)
        ///</summary>
        public static void SpdLoad(FpSpread ospd)
        {
            //回车进行到下一个单元格
            InputMap im;
            im = ospd.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenAncestorOfFocused);
            im.Put(new FarPoint.Win.Spread.Keystroke(Keys.Enter, Keys.None), FarPoint.Win.Spread.SpreadActions.MoveToNextColumnWrap);
            im.Put(new FarPoint.Win.Spread.Keystroke(Keys.F1, Keys.None), FarPoint.Win.Spread.SpreadActions.None);
            im.Put(new FarPoint.Win.Spread.Keystroke(Keys.F2, Keys.None), FarPoint.Win.Spread.SpreadActions.None);
            im.Put(new FarPoint.Win.Spread.Keystroke(Keys.F3, Keys.None), FarPoint.Win.Spread.SpreadActions.None);
            im.Put(new FarPoint.Win.Spread.Keystroke(Keys.F4, Keys.None), FarPoint.Win.Spread.SpreadActions.None);
            im.Remove(new FarPoint.Win.Spread.Keystroke(Keys.C, Keys.Control));
            im.Remove(new FarPoint.Win.Spread.Keystroke(Keys.V, Keys.Control));
            im.Put(new FarPoint.Win.Spread.Keystroke(Keys.C, Keys.Control), SpreadActions.Redo);
            im.Put(new FarPoint.Win.Spread.Keystroke(Keys.V, Keys.Control), SpreadActions.Redo);

            im = ospd.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenFocused);
            im.Put(new FarPoint.Win.Spread.Keystroke(Keys.Enter, Keys.None), FarPoint.Win.Spread.SpreadActions.MoveToNextColumnWrap);
            im.Put(new FarPoint.Win.Spread.Keystroke(Keys.F1, Keys.None), FarPoint.Win.Spread.SpreadActions.None);
            im.Put(new FarPoint.Win.Spread.Keystroke(Keys.F2, Keys.None), FarPoint.Win.Spread.SpreadActions.None);
            im.Put(new FarPoint.Win.Spread.Keystroke(Keys.F3, Keys.None), FarPoint.Win.Spread.SpreadActions.None);
            im.Put(new FarPoint.Win.Spread.Keystroke(Keys.F4, Keys.None), FarPoint.Win.Spread.SpreadActions.None);
            im.Remove(new FarPoint.Win.Spread.Keystroke(Keys.C, Keys.Control));
            im.Remove(new FarPoint.Win.Spread.Keystroke(Keys.V, Keys.Control));
            im.Put(new FarPoint.Win.Spread.Keystroke(Keys.C, Keys.Control), SpreadActions.Redo);
            im.Put(new FarPoint.Win.Spread.Keystroke(Keys.V, Keys.Control), SpreadActions.Redo);
            // 清除split按钮
            ospd.RowSplitBoxPolicy = SplitBoxPolicy.Never;
            ospd.ColumnSplitBoxPolicy = SplitBoxPolicy.Never;
            //锁定列宽和行高
            //ospd.ActiveSheet.Columns[0, ospd.ActiveSheet.ColumnCount - 1].Resizable = false;
            //ospd.ActiveSheet.Rows[0, ospd.ActiveSheet.RowCount - 1].Resizable = false;
            //单元格进入后文本全选.
            ospd.EditModeReplace = true;
        }
Example #4
0
        /// <summary>
        /// スプレッド通常入力設定処理
        /// </summary>
        /// <param name="pspdObj">スプレッドシートインスタンス</param>
        /// <param name="EnterAction">Enterキー入力時の動作</param>
        /// <returns>true:正常終了 false:エラー</returns>
        /// <remark>
        /// 通常入力用初期処理を行います
        /// </remark>
        public static bool InitNormalInput(FpSpread pspdObj, object EnterAction)
        {
            try
            {
                // 通常入力用 初期処理
                InputMap linpMap = pspdObj.GetInputMap(InputMapMode.WhenAncestorOfFocused);
                linpMap.Put(new Keystroke(Keys.Enter, Keys.None), EnterAction);

                //-----------------------------------------------------------------------------
                // ※ EditModeOn/EditModeOffのイベントは各自記述する必要があります
                //
                // [EditModeOn]の場合
                //  spdXXX.EditingControl.KeyDown +=
                //                new System.Windows.Forms.KeyEventHandler( this.spdXXX_KeyDown );
                // [EditModeOff]の場合
                //  spdXXX.EditingControl.KeyDown -=
                //                new System.Windows.Forms.KeyEventHandler( this.spdXXX_KeyDown );
                //-----------------------------------------------------------------------------

                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
Example #5
0
        /// <summary>
        /// スプレッド連続入力設定処理
        /// </summary>
        /// <param name="pspdObj">スプレッドシートインスタンス</param>
        /// <returns>true:正常終了 false:エラー</returns>
        /// <remark>
        /// 連続入力用初期処理を行います
        /// </remark>
        public static bool InitRenzokuInput(FpSpread pspdObj)
        {
            try
            {
                // 連続入力用 初期処理
                // セルがアクティブになったときにそのセルを編集モード
                pspdObj.EditModePermanent = true;

                // 編集中セルの Enterキー押下による動作を無効とします。
                InputMap linpMap = pspdObj.GetInputMap(InputMapMode.WhenAncestorOfFocused);
                linpMap.Put(new Keystroke(Keys.Enter, Keys.None), SpreadActions.None);

                //-----------------------------------------------------------------------------
                // ※ EditModeOn/EditModeOffのイベントは各自記述する必要があります
                //
                // [EditModeOn]の場合
                //  spdXXX.EditingControl.KeyDown +=
                //                new System.Windows.Forms.KeyEventHandler( this.spdXXX_KeyDown );
                // [EditModeOff]の場合
                //  spdXXX.EditingControl.KeyDown -=
                //                new System.Windows.Forms.KeyEventHandler( this.spdXXX_KeyDown );
                //-----------------------------------------------------------------------------

                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }
Example #6
0
        ///// <summary>
        ///// コードからインデックス値を取得
        ///// </summary>
        ///// <param name="CODE"></param>
        ///// <returns></returns>
        //private int getCnvCodeToIndex(string CODE)
        //{
        //    return gcComboBox1.getIndex(CODE);
        //}

        ///// <summary>
        ///// インデックス値からコードを取得
        ///// </summary>
        ///// <param name="INDEX"></param>
        ///// <returns></returns>
        //private string getCnvIndexToCode(int INDEX)
        //{
        //    string str_rc = string.Empty;
        //    if (INDEX < 0) return str_rc;
        //    return gcComboBox1.getCode(INDEX);
        //}

        ///// <summary>
        ///// コンボボックスでキーが押下された時
        ///// </summary>
        ///// <param name="sender"></param>
        ///// <param name="e"></param>
        //private void gcComboBox1_KeyDown(object sender, KeyEventArgs e)
        //{
        //    //Enterキーが押された時
        //    switch (e.KeyCode)
        //    {
        //        // エンターキー
        //        case Keys.Enter:
        //            e.Handled = true;

        //            if (gcComboBox1.SelectedIndex < 0) return;

        //            decimal p_no = decimal.Parse(getCnvIndexToCode(gcComboBox1.SelectedIndex));

        //            //スプレッド初期化
        //            //mfnc_setInitialize();

        //            break;
        //    }

        //}

        ///// <summary>
        ///// コンボボックスで選択値が変化した時
        ///// </summary>
        ///// <param name="sender"></param>
        ///// <param name="e"></param>
        //private void gcComboBox1_SelectedIndexChanged(object sender, EventArgs e)
        //{
        //    if (gcComboBox1.SelectedIndex < 0) return;

        //    decimal p_no = decimal.Parse(getCnvIndexToCode(gcComboBox1.SelectedIndex));

        //    //スプレッド初期化
        //    //mfnc_setInitialize();

        //}
        #endregion

        #region スプレッドの制御、処理
        /// <summary>スプレッド標準キー を無効にし上位へスルー通知を行う処理</summary>
        /// <param name="pspdObj">スプレッドシートインスタンス</param>
        /// <returns>true:正常終了 false:エラー</returns>
        /// <remark>
        /// 各起動時に実行してください。
        /// TAB:フォーカス移動用にします
        /// ESC:通常画面の終了に使用します など
        ///
        /// ※ スプレッド読み取り専用の場合必要なし(OperationModeの設定だけ)
        ///   標準でキーを取得したい場合に使用します
        /// </remark>
        public static bool InitDispInputMap(FpSpread pspdObj)
        {
            try
            {
                InputMap im = new InputMap();

                //【非編集セル】での[Enter]キーを「次行へ移動」とします
                // WhenFocused 入力マップ
                // コントロールにフォーカスがある場合(セル非編集モード)
                //     im = pspdObj.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenFocused);
                //im.Put(new Keystroke(Keys.Enter, Keys.None), SpreadActions.MoveToNextRow);    // Enter  次の行
                //     im.Put(new Keystroke(Keys.Enter, Keys.None), SpreadActions.None);        // Enter 何もしない
                //     im.Put(new Keystroke(Keys.Down, Keys.None), SpreadActions.None);         //  ↓   何もしない

                //【編集中セル】での[Enter]キーを「次行へ移動」とします
                // WhenAncestorOfFocused 入力マップ
                // コントロールまたはその子にフォーカスがある場合(セル編集モード) 
                im = pspdObj.GetInputMap(FarPoint.Win.Spread.InputMapMode.WhenAncestorOfFocused);
                //im.Put(new Keystroke(Keys.Enter, Keys.None), SpreadActions.None);               // Enter 何もしない
                //im.Put(new Keystroke(Keys.Down, Keys.Alt), SpreadActions.None);                 // ALT + ↓  何もしない
                //im.Put(new Keystroke(Keys.Down, Keys.None), SpreadActions.None);                //  ↓  何もしない
                //im.Put(new Keystroke(Keys.Enter, Keys.None), SpreadActions.MoveToNextRow);      // Enter  次の行
                //im.Put(new Keystroke(Keys.Tab, Keys.None), SpreadActions.None);                 // TAB
                //im.Put(new Keystroke(Keys.Tab, Keys.Shift, false), SpreadActions.None);         // TAB + Shift
                im.Put(new Keystroke(Keys.Escape, Keys.None), SpreadActions.None);            // ESC
                im.Put(new Keystroke(Keys.F1, Keys.None), SpreadActions.None);                // F1
                im.Put(new Keystroke(Keys.F2, Keys.None), SpreadActions.None);                // F2
                im.Put(new Keystroke(Keys.F3, Keys.None), SpreadActions.None);                // F3
                im.Put(new Keystroke(Keys.F4, Keys.None), SpreadActions.None);                // F4
                im.Put(new Keystroke(Keys.F5, Keys.None), SpreadActions.None);                // F5
                im.Put(new Keystroke(Keys.F6, Keys.None), SpreadActions.None);                // F6
                im.Put(new Keystroke(Keys.F7, Keys.None), SpreadActions.None);                // F7
                im.Put(new Keystroke(Keys.F8, Keys.None), SpreadActions.None);                // F8
                im.Put(new Keystroke(Keys.F9, Keys.None), SpreadActions.None);                // F9
                im.Put(new Keystroke(Keys.F10, Keys.None), SpreadActions.None);               // F10
                im.Put(new Keystroke(Keys.F11, Keys.None), SpreadActions.None);               // F11
                im.Put(new Keystroke(Keys.F12, Keys.None), SpreadActions.None);               // F12

                return(true);
            }
            catch (Exception)
            {
                return(false);
            }
        }