Curl Global Community
フォーカス喪失時のイベント - Printable Version

+- Curl Global Community (http://communities.curl.com)
+-- Forum: Discussions (http://communities.curl.com/forumdisplay.php?fid=1)
+--- Forum: General Curl questions (http://communities.curl.com/forumdisplay.php?fid=2)
+--- Thread: フォーカス喪失時のイベント (/showthread.php?tid=289)



フォーカス喪失時のイベント - usami - 09-28-2011

TextField等のオブジェクトに対してフォーカス喪失時にFocusOutイベントが発行されますが、このイベントの中である条件の場合フォーカス喪失をキャンセルするといったことはできるのでしょうか?
AccessのBeforeUpdateイベントのCancel = trueのような挙動をCurlで実現するためにはどのように記述すればよいのでしょうか?



RE: フォーカス喪失時のイベント - c-s - 09-28-2011

cancelはありません。
というのは、FocusOutのタイミングだともう遅いです。
consumeしても、フォーカス移動は中止されません。

方法がないわけではないけれど、問題起こしやすくて、出来れば避けた方がいいと思います。

逆に、他のActiveTraversorはみんなtakes-focus? = falseとかであれば、フォーカス移動はないはずですが。
tabキーとポインタークリックとかにフォーカス変更しない様にすれば、元のままですから。
ActiveTraversalContainerの設定にも色々出来ますが、画面全体作りに気をつけないと駄目ですね。




RE: フォーカス喪失時のイベント - usami - 09-28-2011

> 逆に、他のActiveTraversorはみんなtakes-focus? = falseとかであれば、フォーカス移動はないはずですが。
> tabキーとポインタークリックとかにフォーカス変更しない様にすれば、元のままですから。
> ActiveTraversalContainerの設定にも色々出来ますが、画面全体作りに気をつけないと駄目ですね。

tabキーを押したときやマウスカーソルが項目外に移動した際に項目の入力判定を行い、NGの場合は遷移させないようにしたいのですが、
FocusOutイベントに記述しても元の項目に戻ってくれないので、フォーカス喪失前に判断させたい意向です。
tabキーで遷移した場合なら次項目でshift+tabで戻せばいいですが、マウスで別の項目に遷移されたらもう戻れないのでは?と思います。