PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
10779 00/03/22 18:49:48 RE(5):PB6.5: ウインドウ内のアクティブコントロールの取得 By koukichi
10751 00/03/21 13:26:34 RE(4):PB6.5: ウインドウ内のアクティブコントロールの取得(ごみレス) By Taka
10750 00/03/21 12:44:14 RE(3):PB6.5: ウインドウ内のアクティブコントロールの取得(ごみレス) By M.M
10749 00/03/21 11:05:44 RE(2):PB6.5: ウインドウ内のアクティブコントロールの取得 By Taka
10747 00/03/20 17:32:26 RE(1):PB6.5: ウインドウ内のアクティブコントロールの取得 By M.M
10746 00/03/20 11:55:39 PB6.5: ウインドウ内のアクテブコントロールの取得 By koukichi

カテゴリ:スクリプトの記述
日付:2000年03月21日 12:44 発信者:M.M
題名:RE(3):PB6.5: ウインドウ内のアクティブコントロールの取得(ごみレス)

Takaさん、こんにちは。

>たぶんこの方法しかないと思います。
>が、フラグ用変数ではなく、sle_n への参照を格納しておくと良いでしょう。

>インスタンス変数
>SingleLineEdit  i_sle_x

>各コントロールのGetFocusイベント
>i_sle_x = this

>ボタンでの処理
>(ダイアログを開く)
>(戻り値などのチェック)
>if isValid(i_sle_x) then i_sle_x.Text = ダイアログから返された文字列など

Takaさん、ナイス!
なんで昨日はこのロジックを思い付かなかったんだろう。
やっぱり、休日出勤して頭が煮詰まっていたせいかな。


>【追記】
>各コントロールのGetFocusイベントを使いたくないのでしたら、以下の方法でやっても同じです。
>・ウィンドウにユーザーイベント pbm_command を定義する。
>・pbm_commandのスクリプト
>  if GetFocus().TypeOf() = SinglelineEdit! and NotificationCode = 256 then
>    i_sle_x = GetFocus()
>  end if
> ※ NotificationCode = 256 は、EN_SETFOCUS(0x0100)を意味します。

こっちのロジックもすっきりしていていいですねー。
ところで\"pbm_command\"って何のイベントIDでしたっけ?


付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows98
DBMS (記載なし)
Browser (記載なし)

Server SoftWare

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

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