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
|