ただ、RecordGrid のセルにフォーカスが入っている場合、
ESCキーを押しても、Viewが閉じません。
TextField などの場合は問題なく閉じるので、
グリッドにESCのキープレスイベントが握りつぶされているのではないかと思うのですが、
これを回避するにはどうすればよいでしょうか。
Code:
{def grid =
{RecordGrid
record-source =
{RecordSet
{RecordFields
{RecordField "a", nullable? = true}
}
,
{RecordData a = ""}
},
{RecordGridColumn "a"}
}
}
||View の FocusManager に、ESC キーで閉じるイベントを設定する
{define-proc {add-esc v:View}:void
{if-non-null fm = {v.get-focus-manager} then
def ka =
{KeyAccel
key-accel-string = "Esc",
{on Action do
{v.close}
}
}
{fm.add-key-accel
ka
}
}
}
{CommandButton
label = "RecordGried の View",
{on Action do
def v = {View grid}
{add-esc v}
{v.show}
}
}
{CommandButton
label = "TextField の View",
{on Action do
def v = {View {TextField }}
{add-esc v}
{v.show}
}
}