Bernard Bout continúa la serie dedicada a Interoperabilidad VFP-.NET a través del Interop Forms Toolkit.
Utilizar Interop Forms Toolkit en VFP 9 - Parte II
Artículo original: Using the Interop Forms Toolkit in VFP9 – A Walkthrough II
http://weblogs.foxite.com/bernardbout/archive/2007/06/21/4140.aspx
Autor: Bernard Bout (http://weblogs.foxite.com/bernardbout)
Traducido por: Ana María Bisbé York (amby@telefonica.net)
Para: PortalFox (http://www.portalfox.com)
Parte 2 - Propiedades y más eventos
Hoy voy a mostrar cómo podemos agregar controles adicionales así como exponer propiedades de esos controles en nuestro activeX.
Si no lo ha hecho, lea por favor, Primera parte de este artículo Using the Interop Forms Toolkit in VFP9 – A Walkthrough (Nota de la traductora. El artículo al que se refiere el autor está traducido al español y publicado en PortalFox bajo el título Utilizar Interop Forms Toolkit en VFP 9 (Bernard Bout) Traducción)
Abra el proyecto en vbExpress que ha creado anteriormente o si es vago, descargue el código del proyecto completo del enlace que se muestra debajo y siga adelante.
Haga doble clic en MyToolstrip.vb para abrirlo en el diseñador. Desde el toolbox a la izquierda suelte un checkbox dentro de la supercifie del control de usuario. Cambie estas propiedades:
(Name) = chkOnOff
Autosize = True
Text = OnOff
Y muévalo al centro del control, como se muestra
 Figura 1
Ahora queremos exponer ciertas propiedades de este checkbox de tal forma que podamos acceder y establecerlos en VFP. Las propiedades que he escogido son:
Propiedad
Top
Left
Text (vfp Caption)
Evento
Checked o not checked (VFP value)
Pero puede exponer cualquier propiedad de la misma forma.
Justo debajo del área donde declara eventos públicos (Public), agregue estas declaraciones como sigue:
' Código de propiedades para Interop
Public Property Checked() As Boolean
Get
Return Me.chkOnOff.Checked
End Get
Set(ByVal value As Boolean)
Me.chkOnOff.Checked = value
End Set
End Property
Public Property chkTop() As Integer
Get
Return Me.chkOnOff.Top
End Get
Set(ByVal value As Integer)
Me.chkOnOff.Top = value
End Set
End Property
Public Property ChkLeft() As Integer
Get
Return Me.chkOnOff.Left
End Get
Set(ByVal value As Integer)
Me.chkOnOff.Left = value
End Set
End Property
Public Property ChkCaption() As String
Get
Return Me.chkOnOff.Text
End Get
Set(ByVal value As String)
Me.chkOnOff.Text = value
End Set
End Property
Les he dado nombres únicos de tal forma que pude encontrarlos cuando agregué el control desde VFP. Si hubiera utilizado solamente TOP entonces, si hubiera más controles, no sería capaz de diferenciarlos del TOP de los otros objetos.
Finalmente queremos exponer los eventos "Changed" de tal forma que podamos atrapar cuando se cambia el valor en VFP. Por tanto, agrego esta declaración de eventos como último evento.
Public Event ChkOnOffChanged()
y luego de la declaración de propiedades y este código para disparar el evento:
Private Sub chkOnOff_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles chkOnOff.CheckedChanged
RaiseEvent ChkOnOffChanged()
End Sub
Y esto es todo. Ahora guarde y compile su proyecto.
Nota: Si tiene abierto el ActiveX en VFP tendrá error de escritura al generarlo. Cierre el VFP y genere nuevamente.
En VFP, abra su formulario de pruebas (toolstriptester.scx del archivo download) y encontrará que se ha agregado el checkbox.
Si abre la ventana Propiedades del OleControl verá que tenemos ahora un evento adicional y algunas propiedades extras:
 Figura 2
Tal y como hacemos en VFP ahora necesitamos algún control sobre el objeto. Abra el método INIT del formulario y agregue este código:
Form.Init Code
WITH This as form
WITH .olecontrol1
.chkCaption = "Seleccione para permitir la entrada de datos"
.chkTop = 35
.chkLeft = 50
ENDWITH
ENDWITH
Abra la ventana de código para el evento ChkOnOffChanged y agregue este código:
Olecontrol1.Chkchanged code
WAIT WINDOW NOWAIT "El valor en el checkbox se ha cambiado a :"+IIF(This.checked,".T.",".F.")
Ahora ejecute su formulario y vea que el título ha cambiado y que es capaz de cambiar de posición el checkbox. Puede además hacer clic en el checkbox para cambiar su valor y atrapar este cambio.
 Figura 3
En el siguiente escrito voy a exponer métodos predeterminados y de usuario.
¡ Que se diviertan !
Descarga
bbToolstrip.zip 191 KB.
|