PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
11947 00/06/28 10:54:00 RE(6):PB6.5: イベントを中止させる方法に関して By jiro
11926 00/06/27 14:43:27 RE(5):PB6.5: イベントを中止させる方法に関して By jiro
11881 00/06/23 09:35:55 RE(4):PB6.5: イベントを中止させる方法に関して By てとらぽっと
11877 00/06/22 17:51:03 RE(3):PB6.5: イベントを中止させる方法に関して By こてちゅ
11876 00/06/22 16:29:40 RE(2):PB6.5: イベントを中止させる方法に関して By jiro
11870 00/06/22 11:20:37 RE(1):PB6.5: イベントを中止させる方法に関して By てとらぽっと
11867 00/06/22 08:54:25 PB6.5: イベントを中止させる方法に関して By jiro

カテゴリ:スクリプトの記述
日付:2000年06月22日 08:54 発信者:jiro
題名:PB6.5: イベントを中止させる方法に関して

始めまして。
今年からPBを始めたのですが、今非常に悩んでいます。

シングルラインエディットのLoseFocus処理で
入力内容に関するチェックを行い、
不正データの場合ワーニングのダイアログを表示し、
全処理を中断させたいのです。

    IF IsNumber(This.Text) = FALSE THEN
        intRes = MessageBox (\"ERROR\",\"ERROR\")
        RETURN
    END IF

クリックやTabでのフォーカス移動では、上手く
動作してくれました。

しかし、ウィンドウのKeyイベントに
下記のようなコマンドボタンクリックの
POST処理を書き込みました。

    IF KeyDown(KeyF1!) THEN
        IF cb_start.Enabled = TRUE THEN
            cb_start.PostEvent(Clicked!)
        END IF
    END IF

するとKeyイベントが絶対に走ってしまうのです。
どうにかしてKeyイベントを走らせないように
しようと思い、「LoseFocusが走れば・・・」と、

    IF KeyDown(KeyF1!) THEN
        SetFocus(cb_f1) //FocusのあるオブジェクトのLoseFocusを走らせる。
        IF cb_start.Enabled = TRUE THEN
            cb_start.PostEvent(Clicked!)
        END IF
    END IF

このように書き換えましたが、結果は同じでした。

ない頭をしぼって考えたのが、
「エラー表示した時に、キューに入っている
 その後のイベントが削除できれば・・・」
と言うことでした。

LoseFocus時に、その後にキューに予定されている
イベントを削除するなんてことは出来ないのでしょうか?

Help等も調べて見たのですが、見つけられませんでした。
アドバイス宜しくお願いします。

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows NT 4.0
DBMS (記載なし)
Browser (記載なし)

Server SoftWare

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

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