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 (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.