Thread Rating:
  • 293 Vote(s) - 2.74 Average
  • 1
  • 2
  • 3
  • 4
  • 5
テキストフィールドの右クリックメニューのカスタマイズ
01-20-2015, 05:10 PM,
#2
RE: テキストフィールドの右クリックメニューのカスタマイズ
on-context-menu-event メソッドのオーバーフライドでできそうですね。
できれば、context-menu-for-text-field のMenuPane を直接操作したいのですが、
どのような仕組みになっているのかわからなかったのであきらめました。

Code:
{import * from CURL.DESKTOP.CLIPBOARD}

{define-class public CustomTextFieldUI {inherits SkinnableTextFieldUI}
  {constructor public {default ...}
    {construct-super {splice ...}}
  }

  {method open public {on-context-menu-event e:ContextMenuEvent}:void
    {if not e.consumed? then
        {if-non-null menu-pane =  self.context-menu-for-text-field then
            {e.consume}


            ||表示のみ状態のフィールドに対して、
            ||右クリックメニューからテキストのコピーができるよう修正
            let popup-custom-menu?:bool = false
            {type-switch self.control
             case tf:TextField do
                set popup-custom-menu? = not tf.enabled?


                {output tf.selection-context-active?}

            }

            {if popup-custom-menu? then
                def custom-menu =
                    {MenuPane
                        {MenuAction
                            label= "コピー",
                            {on Action do
                                def clipboard = {Clipboard.get-system-clipboard}
                                {clipboard.set-object tf.value}
                            }
                        }
                    }

                set menu-pane.enabled? = true
                {custom-menu.popup self, e.x, e.y}
             else

                ||enbled?=true の場合は通常のメニュー表示
                {menu-pane.popup self, e.x, e.y}
            }
        }
    }
  }
}

{def tf = {TextField ui-object = {CustomTextFieldUI}, value = "aaa"}}

{value tf}

{CheckButton
    label = "enabled?",
    {on ValueChanged at chkb:CheckButton do
        set tf.enabled? = not chkb.value
    }
}




Messages In This Thread
RE: テキストフィールドの右クリックメニューのカスタマイズ - by umemura - 01-20-2015, 05:10 PM
Forum Jump:


Users browsing this thread:
1 Guest(s)

MyBB SQL Error

MyBB has experienced an internal SQL error and cannot continue.

SQL Error:
1017 - Can't find file: 'mybb_threadviews' (errno: 2)
Query:
INSERT INTO mybb_threadviews (tid) VALUES('1197')