示例#1
0
        //-------------------------------------------------------------------------
        /// <summary>
        /// ショートカットキーを更新する。
        /// Tagが一致する場合、現在のショートカットキーを割り当てる。
        /// 表示のみ設定するため、メニューのショートカットの機能は使わない。
        /// </summary>
        /// <param name="item">対象</param>
        private void update_shortcut_keys(ToolStripItem item)
        {
            // ToolStripMenuItem以外は無視
            if (item is ToolStripMenuItem)
            {
                ToolStripMenuItem smi = (ToolStripMenuItem)item;
                foreach (ToolStripItem i in smi.DropDownItems)
                {
                    // 子がいれば再帰で潜る
                    update_shortcut_keys(i);
                }

                // Tagが一致するAssignに更新
                if (smi.Tag != null)
                {
                    KeyAssignList.Assign a = m_list.GetAssign(smi.Tag);
                    if (a != null)
                    {
                        // smi.ShortcutKeysにはShortcutのみしか指定できないため、
                        // 表示の設定のみ行う
                        smi.ShortcutKeys             = Keys.None;                                               // ショートカットキーとしてはなし
                        smi.ShowShortcutKeys         = true;
                        smi.ShortcutKeyDisplayString = (a.Keys == Keys.None)? "": a.KeysString;
                    }
                }
            }
        }
示例#2
0
        //-------------------------------------------------------------------------
        /// <summary>
        /// ListViewに追加する
        /// </summary>
        /// <param name="listview">対象のListView</param>
        /// <param name="i">キーアサイン</param>
        private void add_item(ListView listview, KeyAssignList.Assign i)
        {
            ListViewItem item = new ListViewItem(i.Group, 0);

            item.Tag = i;
//			item.ToolTipText		= i.tool_tip;
            item.SubItems.Add(i.Name);
            item.SubItems.Add(i.KeysString);

            listview.Items.Add(item);
        }
示例#3
0
        //-------------------------------------------------------------------------
        /// <summary>
        /// 구축
        /// </summary>
        /// <param name="assign">編集する키アサイン</param>
        public KeyAssignForm(KeyAssignList.Assign assign)
        {
            InitializeComponent();

            m_assign    = assign;
            label4.Text = assign.Name;
            label3.Text = assign.Group;

            label1.Text = assign.KeysString;

            // なにも없음でOKを押すと할당없음となる
            m_new_assign = Keys.None;
        }
示例#4
0
 //-------------------------------------------------------------------------
 /// <summary>
 /// 割り当て変更ボタンの更新
 /// </summary>
 private void update_assign_button()
 {
     KeyAssignList.Assign i = get_selected_item();
     if (i != null)
     {
         update_button(m_assign_button, true);
         update_button(m_remove_assign_button, (i.Keys == Keys.None)? false: true);
     }
     else
     {
         update_button(m_assign_button, false);
         update_button(m_remove_assign_button, false);
     }
 }
示例#5
0
        //-------------------------------------------------------------------------
        /// <summary>
        /// すべて初期値に戻す
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button3_Click(object sender, EventArgs e)
        {
            // 初期値に戻す
            m_assign_list.DefaultAll();

            foreach (ListViewItem i in m_list_view.Items)
            {
                KeyAssignList.Assign item = i.Tag as KeyAssignList.Assign;
                if (item == null)
                {
                    continue;
                }

                i.SubItems[2].Text = item.KeysString;
            }
        }
示例#6
0
        //-------------------------------------------------------------------------
        /// <summary>
        /// キー割り当て解除
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button2_Click(object sender, EventArgs e)
        {
            KeyAssignList.Assign i = get_selected_item();

            if (i == null)
            {
                return;
            }

            // 割り当てなし
            i.Keys = Keys.None;

            // リストの更新
            m_list_view.SelectedItems[0].SubItems[2].Text = i.KeysString;

            // ボタン状態の更新
            update_assign_button();
        }
示例#7
0
        //-------------------------------------------------------------------------
        /// <summary>
        /// キー割り当て変更
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button1_Click(object sender, EventArgs e)
        {
            KeyAssignList.Assign i = get_selected_item();

            if (i == null)
            {
                return;
            }

            using (KeyAssignForm dlg = new KeyAssignForm(i)){
                if (dlg.ShowDialog(m_form) == DialogResult.OK)
                {
                    i.Keys = dlg.NewAssignKey;

                    // リストの更新
                    m_list_view.SelectedItems[0].SubItems[2].Text = i.KeysString;

                    // ボタン状態の更新
                    update_assign_button();
                }
            }
        }