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 (記載なし)
Copyright © 2013 Power Future Co., Ltd.