![]() | Programming Guide | WideStudio/MWT Index 目次 |
ファイル選択ダイアログ
ファイル選択ダイアログの表示
ファイル選択ダイアログの使い方について触れてみましょう。ファイル選択ダ イアログの様なダイアログに関しては、便利な表示メソッドpopup が用意され ています。popup メソッドは、単にダイアログを表示させるだけでなく、オペレータがOK やキャンセルなどを選択した結果を関数復帰で返します。したがって、関数を 呼ぶだけで、ダイアログの表示から、ダイアログの終了した時点の選択結果の 取得を行うことができます。ファイル選択ダイアログやメッセージダイアログ に関して実際のサンプルプログラムを見ていきましょう。
[ファイル選択ダイアログ](*----------------------------------------------------------*) (*Function for the event procedure *) (*----------------------------------------------------------*) open Swig open Mwt open Mwtlib let btnep2 obj = (* do something...*) let fs = _WSGIappFileSelect '() in (* A *) fs->setProperty("maskFileName","ml"); (* B *) fs->setProperty("defaultPosition",_True); (* C *) let ret = fs->popup() in (* D *) let msg = _WSGIappMessageDialog '() in (* E *) msg->setProperty("width",500); (* F *) msg->setProperty("height",120); (* G *) msg->setProperty("defaultPosition",_True); (* H *) if get_int ret = get_int _WS_DIALOG_OK then begin (* I *) let str = get_string(fs->getFileName()) ^ " が選択されました。" in ignore(msg->setProperty("labelString",(make_string(str)))); ignore(msg->popup()); end else if get_int ret = get_int _WS_DIALOG_NO then begin (* J *) ignore(msg->setProperty("labelString","選択されませんでした。")); ignore(msg->popup()); end else if get_int ret = get_int _WS_DIALOG_CANCEL then begin (* K *) ignore(msg->setProperty("labelString","選択は取り消されました。")); ignore(msg->popup()); end; () let _ = Callback.register "btnep2" btnep2(A) でグローバルインスタンスアクセス関数を使用して、ファイル選択ダイア ログのグローバルインスタンスにアクセスします。ファイル選択ダイアログな どのクラスには、あらかじめいつでも利用できるようにグローバルなインスタ ンスが1つ用意されています。そして、グローバルインスタンスアクセス関数 によってアクセスできるようになっています。
(B),(C)でプロパティを設定し、(D) で、ダイアログを表示状態にします。実 際に選択が行われると、popup メソッドが復帰して来ます。
ファイル選択ダイアログの選択結果をメッセージダイアログを使って表示して みるとします。(E),(F),(G),(H)で、メッセージダイアログのグローバルイン スタンスを取得して、プロパティを設定します。
(I) では、選択されたファイルをメッセージ文字列として表示します。 (J) では、ファイル選択が無かった主旨をメッセージ文字列として表示します。 (K) では、キャンセルされた主旨をメッセージ文字列として表示します。
Copyright(C) WideStudio/MWT Development Team, 1999-2005 | Last modified: Jul 31, 2005 |