02-26-2014, 05:59 PM,
|
|||||
|
|||||
画面の操作を無効にするには?
ある処理の間、画面の操作を無効化したいです。
lib ライブラリに、ボタンの2度押し防止のためのAPIとして、 with-busy-view があり、これを使うと、 TextField なども操作不可の状態になるので、 画面をロックする目的に利用できるかな、と思ったのですが、 ①with-busy-view を呼び出す ②上記の処理中に、画面上のテキストエリアをクリック ③キー入力を行う ↑このタイミングでは画面上には入力したキーは表示されない ④with-busy-view の処理が終了する ⑤画面上のテキストエリアに、先ほど入力したキーが表示される。 となってしまい、目的に合致しません。 おそらく、with-busy-view の処理中も、マウスイベント、 キーイベントがイベントキューにたまり with-busy-view の処理が終了したら、イベントキュー内のイベントが順次実行されてしまうため、 この現象になっていると思っています。 理想は、⑤の時点で、それまでの全てのイベントを破棄してほしいです。 画面の操作をロックする方法をご存知の方がいらっしゃったら教えてください。 Code: {import * from COM.CURL.LIB.UI} |
|||||
02-26-2014, 06:35 PM,
|
|||||
|
|||||
RE: 画面の操作を無効にするには?
画面にバリアを張って、バリア解除時にイベントを破棄すれば出来そう・・・。
Code: {import * from COM.CURL.LIB.UI} |
|||||
03-12-2014, 04:03 PM,
(This post was last modified: 03-12-2014, 04:57 PM by alchimiste.)
|
|||||
|
|||||
RE: 画面の操作を無効にするには?
umemuraさんのBarrierFrameを使って、新しいwith-busy-new-viewマクロを作ってみました。
with-busy-new-viewの呼び出しだけで、バリア効果が出ます。 Code: {define-macro public 次は使用の例です。より簡単なコードになりました。 Code: {def ta = {TextArea |
|||||
« Next Oldest | Next Newest »
|
Users browsing this thread:
3 Guest(s)
3 Guest(s)