クラスで個々のイベント処理を託す

<戻る

ここに載せてあるソースコードは、参考のために載せてあります

サンプルコードは、一番下にLZHとしてあります




Option Explicit

'たった7行の記述だけで
'クラスにそのイベント処理を託すことができます
'だだし、フォームに指定のコントロールを配置しないと
'クラスは正常に処理しません
'このクラスの利点としては、
' "フォームのソースコード内がイベント処理で埋もれるのを防げる"
'という利点があります
'他にイベント処理コードで埋もれるのを防ぐ方法として
'イベント用の関数を作成するという方法もあります

'イベント処理クラスを生成します
Private m_Class1 As New Class1    'From1イベント用クラス
Private m_Class2 As New Class2    'Command1イベント用クラス

'このFrom_Initializeイベントを使用している理由は
'From1のForm_Loadイベント内で
'Set m_Class1.SetEventsFrom = Me
'をしても
'Class1でFrom_Loadイベントを
'受け取るには遅すぎるためです。(既に発生してしまっているため)
'簡単にいうとFrom1のFrom_Loadイベントの方が
'm_Class1のm_Form_Loadイベントよりも
'先にイベントが発生してしまうためです。
'From_Loadイベントなどは特殊で一度しか発生しないイベントですから
'From_Initializeイベントで
'SetEventsFromプロパティの設定をしているというわけです。
Private Sub Form_Initialize()
    Set m_Class1.SetEventsForm = Me
    Set m_Class2.SetEventsCommandButton = Me.Command1
End Sub


<戻る

Sample73.lzh


http://hp.vector.co.jp/authors/VA015521/