WideStudio Application Builder User's Guide(Perl言語)

ファイル選択ダイアログ



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

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



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

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

#----------------------------------------------------------
#Function for the event procedure
#----------------------------------------------------------
use mwt;

sub btnep2 {
  my ($object) = @_;
  # アプリケーションに1つあらかじめ用意されています。
  # ファイル選択ダイアログのインスタンスにアクセスします。
  $fs = mwt::WSGIappFileSelect();                               #(A)
  $fs->setProperty("maskFileName","pl");            #(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 = sprintf("%s が選択されました。", $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();
  }
  return;
}
1;

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

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

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

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


WideStudio documents index | 目次
バグ情報、ご質問等ございましたら、メーリングリストでご確認の上、 御気軽にこちらの方までよろしくお願いいたします。