03-20-2014, 04:01 PM,
(This post was last modified: 03-20-2014, 04:16 PM by umemura.)
|
|||||
|
|||||
F2キーが効かない?
画面に対して「F2キー」が押されたら、ある処理を実行する、という機能を実装しているのですが、
レコードグリッドのセルにフォーカスがあるときにだけ、その処理が実行されない、という問題が起きています。 ヘルプを読んだところ、「レコードグリッド」ところに、F2キーを押して編集状態にする云々、という記述があり、 どうやら、セルにフォーカスが入った際に全選択の状態になるため、 F2キーを押すと、選択状態がクリアされ、カーソルが、セルの最後の位置に来る、という機能があるようです。 オープンコントロールを見たところ、SkinnedSRGTextFieldFeel という処理の中で、 セルの中で現在の選択状態を判断して、イベントをconsumeしているようなのですが、 セル内が空文字の場合、常にこの条件に当てはまってしまい、 常にF2キーの押下イベントが握りつぶされてしまうのようなのです。 カスタムセルのオーバーライドなら最低限の知識はあるのですが、 このルックアンドフィールの反映方法がよくわからず、 知っている方がいらっしゃったら教えてください。 Code: {define-class public open CustomSkinnedSRGTextFieldFeel |
|||||
03-23-2014, 07:37 PM,
(This post was last modified: 03-23-2014, 07:40 PM by dyoshida.)
|
|||||
|
|||||
RE: F2キーが効かない?
ご希望のルックアンドフィールの反映方法ではないのですが、
レコードグリッドのセルがフォーカスを持っている場合も、F2キーのキー アクセラレータラの方を 有効にするのであれば、RecordGridUI.reserved-key?をオーバーライドしてF2を追加する というのはどうでしょうか? 適切でない感があるコードですが・・・ Code: {define-class public open MyRecordGridUI {inherits SkinnableRecordGridUI} |
|||||
03-24-2014, 09:58 AM,
|
|||||
|
|||||
RE: F2キーが効かない?
dyoshida さん、返信ありがとうございます。
RecordGridUI.reserved-key? というものがあるのですね。 F2キーには、セルへのフォーカス遷移時に選択された文字の選択状態をはずす、 という機能があるようなので、その機能は生かすようにするため、 下記のようなコードにしてみます。 ありがとうございました。 Code: {define-class public open MyRecordGridUI {inherits SkinnableRecordGridUI} ルックアンドフィールドの反映方法も後学として知っておきたいので、 もしご存知のかたがいらっしゃったら教えてください。 |
|||||
03-27-2014, 02:57 PM,
|
|||||
|
|||||
RE: F2キーが効かない?
素早く複数のセルへ連続入力すると、エラーになってしまったので、少し修正。
Code: {method public open {check-f2-event ev:KeyPress}:bool |
|||||
« Next Oldest | Next Newest »
|
Users browsing this thread:
3 Guest(s)
3 Guest(s)