コモンダイアログから結果を受け取る

<< Click to Display Table of Contents >>

マニュアル > 画面作成ガイド > フォームとダイアログ/フレーム/ビュー > コモンダイアログ >

コモンダイアログから結果を受け取る

コモンダイアログから処理結果を受け取る

コモンダイアログを表示する場面では、例えばYes/Noの確認など、オペレータに対して何らかの確認を促す場面が多くあります。また、カレンダー選択やパスワードチェックなどのように、コモンダイアログに対して何らかの入力が行われることもあります。これらの対話型のダイアログでは、ダイアログの呼び出し元の後続処理のために、コモンダイアログの操作結果を受け取る必要があります。

 

これらの処理結果は、OnCommonEventというイベントで受け取ることができます。

 

このイベントを利用することで、nameとvalueというパラメータを介して、ダイアログの操作結果を受け取ることができます。

//パスワードダイアログの例
event OnCommonEvent(name,value)
{
if(value && name == "RCPassword") {
	this.Btn1.Enabled = T;
}
else{
	this.Btn1.Enabled = F;
}

 

上記の例ではパスワードダイアログの判定結果により、ボタンの有効・無効を切り替えています。

 

 

hint

各パラメータに渡ってくる情報はコモンダイアログの種類によって異なります。詳細はコントロールリファレンスの「共通メソッド」を参照して下さい。

 

attention

コモンズダイアログを閉じる前に、targetで指定したコントロールが含まれるフォームを閉じないで下さい。もし閉じられる可能性がある場合は、そのコントロールのOnTerminateイベントでコモンダイアログを閉じるようにしてください。この処理によって、targetが含まれるフォームが閉じたときにコモンダイアログも自動的に閉じられます。このような処理が実装されていない場合、親フォームを閉じたあとに、コモンダイアログを閉じると、targetオブジェクトが存在しないためにアプリケーションエラーが発生する場合があります

 

例)

event OnMouseUp(button)
{
	::OpenYesNoMsg(this, "OK?");
}

event OnTerminate()
{
	::CloseYesNoMsg();
}