フォームを閉じたボタンを取得する
スポンサーリンク
VB6 では、手動でフラグのようなものを設けなければなりません。.NET Framework に習って実装すると以下のようになります。
サンプルコード
以下にサンプルコードを示します。
VB6.0 以前
'/* どこかの Module */ Option Explicit ' DialogResult 列挙体をこのように定義する Public Enum EnumDialogResult None = 0 OK = 1 Cancel = 2 Abort = 3 Retry = 4 Ignore = 5 Yes = 6 No = 7 End Enum
VB6.0 以前
'/* メイン フォーム側 */ Option Explicit ' cmdShowSub をクリックした時 Private Sub cmdShowSub_Click() ' FormSub の新しいインスタンスを生成する Dim cFormSub As FormSub Set cFormSub = New FormSub ' FormSub を表示する Call cFormSub.Show(vbModal) ' btnOK を選択して閉じた時 [OK] となることを確認する If cFormSub.DialogResult = EnumDialogResult.OK Then Call MsgBox("FormSub で [OK] ボタンが選択されました") End If ' 不要になった時点で参照を解放する (Terminate イベントを早めに起こす) Set cFormSub = Nothing End Sub
VB6.0 以前
'/* サブ フォーム側 */ Option Explicit ' プロパティ 変数 Private mDialogResult As EnumDialogResult ' DialogResult - Get Public Property Get DialogResult() As EnumDialogResult DialogResult = mDialogResult End Property ' cmdOK をクリックした時 Private Sub cmdOK_Click() ' 手動で、このフォームの DialogResult プロパティに値を設定する mDialogResult = EnumDialogResult.OK ' このフォームを閉じる Call Unload(Me) End Sub
関連するリファレンス
準備中です。