PB 電子会議室
発言No. | 更新日 | 題名(クリックすると発言内容と関連するコメントが表示されます) |
---|---|---|
16552 | 01/11/05 09:37:26 | RE(2):PB6.5: キーの入力制限について By s-oh |
16550 | 01/11/03 22:45:37 | RE(1):PB6.5: キーの入力制限について By M.M |
16547 | 01/11/02 18:07:18 | PB6.5: キーの入力制限について By s-oh |
カテゴリ:データウィンドウ
日付:2001年11月02日 18:07 発信者:s-oh
題名:PB6.5: キーの入力制限について
データウィンドウのグリッド(以下dw_1)でデータの一覧を作成し、マウスクリックで
選んだデータを別のフリーフォームでのデータウィンドウ(dw_2)に反映させる処理を作成しました。
ここで、dw_2で値を修正し、それを今度はdw_1に反映させる処理を作成しました。
データ修正中はdw_2のほうにフォーカスがあるのですが、このとき「downキー」すなわち、
「矢印の下」を押してしまうと、dw_2では、次のデータ(データベース上の次の項目のことです)を表示してしまうと
いう現象になりました。
その際、dw_1での表示は何も変わりません。(当然ですが)
これでは、指定したデータを修正しようとしても、「downキー」を押したら、違うデータを指定してしまいます。
ここで、キーに入力制限をかけ、「上下左右」のそれぞれのボタンだけ無効にしたいのですが、どのようにしたら良い
のでしょうか?
私としては、windowのkeyイベントで、下記のようにして、それぞれのキーを無効にすれば良いのかな?と思っているの
ですが、どのように記述すれば無効にできるのでしょうか?
異なったアプローチの仕方でも構いません。宜しくお願い致します。
GraphicObject which_control
which_control = GetFocus()
CHOOSE CASE TypeOf(which_control)
CASE DataWindow!
IF key = KeyDownArrow! THEN
(ここに書く記述が不明です)
elseif key = KeyUpArrow! THEN
(ここに書く記述が不明です)
elseif key = KeyLeftArrow! THEN
(ここに書く記述が不明です)
elseif key = KeyRightArrow! THEN
(ここに書く記述が不明です)
end if
END CHOOSE
付加情報:
PowerBuilder Version (記載なし)
Client SoftWare
OS Windows98
DBMS Sybase SQL Anywhere Client
Browser (記載なし)
Server SoftWare
OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)
Copyright © 2013 Power Future Co., Ltd.