Hola a todos,
Me encuentro en una situación en la que dispongo de un control OCX y como la herencia desde .NET me está dando muchos problemas, me gustaría extender dicha clase usando los métodos extensores, que hasta ahora no me han dado muchos problemas, incluso con ese control.
El control me permite visualizar en pantalla algunos elementos geométricos pero como no soporta el uso directo de dibujado encima al estilo GDI+ (métodos tales drawline, drawellipse, etc.) pues pensé en estos métodos extensores.
Había oído hablar de que podría sobreescribir el método WndPrc() pero luego al usar el control OCX en mi código si voy a usar algún método o propiedad tengo incompatibilidad. Así usando el código siguiente, pierdo la funcionalidad original de la clase:
Code Snippet
Private Const WM_PAINT = &HF
Protected Overrides Sub WndProc(
ByRef m
As System.Windows.Forms.Message)
MyBase.WndProc(m)
If m.Msg = WM_PAINT
Then
Dim g
As Graphics =
Me.CreateGraphics()
g.DrawLine(pens.Red, 10, 10, 200, 200)
g.Dispose()
End If
End Sub
En resumen, ¿alguien sabe cómo podría derivar el código siguiente mediante métodos extensores, permitiéndome así, poder usar la clase del control OCX como de costumbre, agregándole la funcionalidad de dibujo encima mediante métodos y propiedades de GDI+?
Muchísimas gracias por adelantado.
Francisco J.