WideStudio/MWT Logo
WideStudio/MWT
Programming Guide
WideStudio/MWT Index
目次


ファイル選択ダイアログ



ファイル選択ダイアログの表示

ファイル選択ダイアログの使い方について触れてみましょう。ファイル選択ダ イアログの様なダイアログに関しては、便利な表示メソッドpopup が用意され ています。



[ファイル選択ダイアログ]

popup メソッドは、単にダイアログを表示させるだけでなく、オペレータがOK やキャンセルなどを選択した結果を関数復帰で返します。したがって、関数を 呼ぶだけで、ダイアログの表示から、ダイアログの終了した時点の選択結果の 取得を行うことができます。ファイル選択ダイアログやメッセージダイアログ に関して実際のサンプルプログラムを見ていきましょう。

#----------------------------------------------------------
#Function for the event procedure
#----------------------------------------------------------
def btnep2(object)
  # アプリケーションに1つあらかじめ用意されています。
  # ファイル選択ダイアログのインスタンスにアクセスします。
  fs = Mwt::WSGIappFileSelect()                 #(A)
  fs.setProperty("maskFileName","rb")            #(B)
  fs.setProperty("defaultPosition",Mwt::True)   #(C)
  ret = fs.popup()                              #(D)

  # アプリケーションに1つあらかじめ用意されている
  # メッセージダイアログのインスタンスを取得する。
  msg = Mwt::WSGIappMessageDialog()             #(E)
  msg.setProperty("width",500)                   #(F)
  msg.setProperty("height",120)                  #(G)
  msg.setProperty("defaultPosition",Mwt::True)  #(H)

  if ret == Mwt::WS_DIALOG_OK                   #(I)
    str = fs.getFileName() + " が選択されました。" 
    msg.setProperty("labelString",str) 
    msg.popup() 
  elsif ret == Mwt::WS_DIALOG_NO                #(J)
    msg.setProperty("labelString","選択されませんでした。") 
    msg.popup() 
  elsif ret == Mwt::WS_DIALOG_CANCEL            #(K)
    msg.setProperty("labelString","選択は取り消されました。") 
    msg.popup() 
  end
end

(A) でグローバルインスタンスアクセス関数を使用して、ファイル選択ダイア ログのグローバルインスタンスにアクセスします。ファイル選択ダイアログな どのクラスには、あらかじめいつでも利用できるようにグローバルなインスタ ンスが1つ用意されています。そして、グローバルインスタンスアクセス関数 によってアクセスできるようになっています。

(B),(C)でプロパティを設定し、(D) で、ダイアログを表示状態にします。実 際に選択が行われると、popup メソッドが復帰して来ます。

ファイル選択ダイアログの選択結果をメッセージダイアログを使って表示して みるとします。(E),(F),(G),(H)で、メッセージダイアログのグローバルイン スタンスを取得して、プロパティを設定します。

(I) では、選択されたファイルをメッセージ文字列として表示します。 (J) では、ファイル選択が無かった主旨をメッセージ文字列として表示します。 (K) では、キャンセルされた主旨をメッセージ文字列として表示します。

Document Release 3.90 for WideStudio/MWT ver 3.90, Jul 2005


WideStudio/MWT documents index | 目次

Copyright(C) WideStudio/MWT Development Team, 1999-2005 Last modified: Jul 31, 2005