PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
3709 98/10/22 23:19:23 RE(3):Tabキーが押されたメッセージを送る方法 By kazuki By 松本商店
3626 98/10/14 17:22:46 RE(2):Tabキーが押されたメッセージを送る方法 By kazuki By kazuki
3617 98/10/14 14:21:00 RE(1):Tabキーが押されたメッセージを送る方法 By てとらぽっと
3615 98/10/14 13:27:59 PB6: 「Tabキーを押す」といった動作が行えるようなスクリプトの記述方法を知っている方、教えてください  By kazuki

カテゴリ:スクリプトの記述
日付:1998年10月22日 23:19 発信者:松本商店
題名:RE(3):Tabキーが押されたメッセージを送る方法 By kazuki

  参考までですが、うちの場合「[*]を押すと次に飛んで欲しい」と言う要望があり
ましたが、[*]がキーボードで押された時に[Tab]を発行させると逆に飛びます。

  テクニカルサポートの回答を載せておきます。

【質問】
  Title : [Shift]を押しながらのTab順

  シングルラインエディットで最大Byte数になったら次のTab順に飛ぶ処理
(Tabを発生させている)を作っていますが、最後の桁で \'+\',\'*\'などの[Shift]
を押しながらの文字を入力すると前のTab順に戻ってしまいます。
  次のTab順に飛ばす方法がありますか?
  ここで[Tab]の処理に「[Shift]は押されていない」と教えられればOKかと思
いますが。

【回答】
以下のようなスクリプトを次のタブ順に移動する処理を行っているイベントに
記述することにより、前のタブ順に戻るのを回避することができます。

[グローバルまたはローカル外部関数の宣言]
Subroutine GetKeyboardState (REF char KeyState [256]) library \"USER32.DLL\"
Subroutine SetKeyboardState (REF char KeyState [256]) library \"USER32.DLL\"

[スクリプト]
IF   keydown(keyshift!) THEN
     GetKeyboardState(KeyState) // キーボード配置を取得
     KeyState[17] = char(0) // shift を オフにする
     SetKeyboardState(KeyState) // キーボート配置を設定
END IF

Send(Handle(this),256,9,Long(0,0)) // tab キー動作をwindows 側へ送る



付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows95
DBMS Oracle SQL*Net 2.3
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS Oracle 7.3
WebServer (記載なし)

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