Thread Rating:
  • 374 Vote(s) - 2.87 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Enterキーでのフォーカス遷移
07-28-2011, 05:13 PM,
#2
RE: Enterキーでのフォーカス遷移
Enterキーが押されたイベントは、UIオブジェクトのKeyPressイベントで取得できるので、

この中でTabキーのイベントに変換して流してやればいけそうです。

下記のコードはレコードグリッドのカスタムセルのサンプルです。
cell-spec に設定すると、グリッド内のセルがエンターキーで遷移します。

Code:
{define-class public EnterMoveCell {inherits StandardStringCell}
  
  {constructor public {default}
    {construct-super}
  }
  
  {method public {create-editor}:TextField
    let editor:TextField = {super.create-editor}
    {editor.ui-object.add-event-handler
        {on e:KeyPress do
            
            {if e.value == KeyPressValue.enter
             then
                
                let kp:KeyPress = {KeyPress}
                
                set kp.value = KeyPressValue.tab
                
                set kp.shifty? = e.shift?
                
                {editor.ui-object.enqueue-event
                    kp
                }
                
                {e.consume}
            }
        }
    }
    {return editor}
  }
}

ちなみに、キープレスのイベントをenuqueue-event で発生させていますが、
handle-event だと、NullDereferenceExceptionが出てしまいます。
理由は分かりません。
Reply


Messages In This Thread
RE: Enterキーでのフォーカス遷移 - by umemura - 07-28-2011, 05:13 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('168')