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日 11:05 発信者:Taka
題名:RE(2):PB6.5: ウインドウ内のアクティブコントロールの取得

koukichiさん、M.Mさん、こんにちは。

>仕方ないので、フラグ用のインスタンス変数を1つ用意し、各シングルライン
>エディットのgetFcusイベントでフラグ用変数に識別値をセットする方法で
>回避できませんか。

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

インスタンス変数
SingleLineEdit  i_sle_x

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

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


>(泥縄的な発想なので、私はあまりこういう方法は好きじゃないんですが) (;^^)

フラグではなくコントロールへの参照を格納する方法なら、決して泥縄的ではありません。(^^


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

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

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

Server SoftWare

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

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