| Antoine.st | Sub Classing in Dot Net |
How to Sub-Class in Dot Netサブクラス化といえば、メッセージ横取りの基本的テクニックです。旧 Visual Basic では、SetWindowLong() API によって実現していましたが、.NET Framework の Form クラスは、そのための オーバーライドメソッドを提供してくれます。 というわけで、サブクラス化がしたければ、そのメソッドをオーバーライドすればよいだけと、とっても簡単になっています。
Protected Overrides Sub WndProc( _
ByRef m As System.Windows.Forms.Message _
)
If m.Msg = WM_COPYDATA Then
Dim cds As COPYDATASTRUCT
cds = _
CType( _
Marshal.PtrToStructure( _
m.LParam, _
GetType(COPYDATASTRUCT)), _
COPYDATASTRUCT)
TextBox3.Text = "string is : " & cds.lpData
End If
MyBase.WndProc(m)
End Sub
|