お世話になります。
VB6でForm1(exe)からForm2(DLL)を、モードレスでShowします。
その後Form2でボタンクリック等のイベントを、Form1(exe)で拾うことは可能でしょうか?
どうか宜しくお願い致します。
書き方はいろいろあると思いますが、例えばこんなイメージでしょうか。
'===== 呼び出し側(Form1) =====
Option Explicit
Private WithEvents SampleClass As Class1
Private Sub Form_Load()
Set SampleClass = New Class1
End Sub
Private Sub Command1_Click()
SampleClass.Show
End Sub
Private Sub SampleClass_ButtonClick()
MsgBox "ボタンが押されました。"
End Sub
'===== DLL側 (Class1) =====
Option Explicit
Public Event FormClosed()
Public Event ButtonClick()
Private WithEvents MyForm As Form
Private WithEvents Button1 As VB.CommandButton
Public Sub Show()
Set MyForm = Form1
Load MyForm
Set Button1 = Form1.Command1
Form1.Show
End Sub
Private Sub Button1_Click()
RaiseEvent ButtonClick
End Sub
Private Sub MyForm_Unload(Cancel As Integer)
RaiseEvent FormClosed
End Sub
魔界の仮面弁士様
早速のご回答ありがとうございます。
やりたい事はすべて解決いたしました。
わかりやすい例まで示していただき、本当にありがとうございました。
ツイート | ![]() |