Microsoft Visual Basic 6/Crear controis de usuario

En Galilibros, o Wikibooks en galego.
Microsoft Visual Basic 6
← Volver a Traballar con bases de datos Crear controis de usuario


Os controis de usuario son aqueles obxectos que teñen unha representación visual, como poden ser as caixas de texto ou as etiquetas. Ademais dos controis de usuario que fornece Microsoft Visual Basic 6 de maneira predeterminada, e mailos que poida fornece calquera biblioteca adicional, pódense desenvolver controis de usuario personalizados.

Por exemplo, imaxínese que en varios formularios ou mesmo proxectos enteiros estamos a empregar caixas de texto que teñen sempre algún tipo de limitación: unhas só deixan introducir números, outras só permiten a introdución de letras, outras ambos pero non permiten algúns símbolos especiais, etc. Non sería moi cómodo que a caixa de texto tivese unha propiedade mediante a cal puidesemos definir este criterio, sen necesidade de repetir o código que consigue o efecto para todas e cada unha das caixas de texto que empregamos? Pois iso é o que permiten os controis de usuario: codificar unha vez, empregar cantas queiramos.

Os controis de usuario teñen internamente unha serie de propiedades, métodos, funcións e eventos. Ao desenvolver un control, prepararémolo para que traballe cos valores para as propiedades que se definan posteriormente mediante métodos e funcións disparados por eventos. Volvendo ao exemplo anterior, poderíamos crear unha variación da caixa de texto definindo unha propiedade filter e segundo o valor que se defina para ela, limitará a introdución na caixa de texto dunha serie ou outra de caracteres cando se dispare o evento da caixa de texto KeyPress.

Creación[editar]

Para comezar a creación dun control de usuario hai que abrir o Microsoft Visual Basic e acceder ao menú «Ficheiro → Novo proxecto». Na xanela que aparecerá, escóllese o «Control ActiveX» e prémese no botón de «Aceptar».

A continuación aparecerá na árbore de directorios un novo proxecto cun directorio de controis de usuario e un control de usuario baleiro dentro. A partir dese momento poderase comezar a traballar no control.

Desenvolvemento[editar]

Para traballar no control, farase do mesmo xeito que se fai cos formularios, exactamente do mesmo xeito. Poderanse definir propiedades, procesos, funcións, etc., así como inserirse outros controis de usuario.

O primeiro sempre ao comezar un novo proxecto é poñerlle nome. O mesmo haberá que facer coa propiedade Name so obxecto que desenvolvamos.

Agora xa poderemos proceder a engadir controis e código ao control de usuario.

Ciclo de vida[editar]

Antes de comezar a desenvolver o control de usuario, cómpre ter claro que eventos se disparan durante a súa inicialización e maila súa finalización, así como da orde que seguen:

  • Inicialización:
    1. Initialize
    2. InitProperties
    3. ReadProperties
    4. Resize
  • Finalización:
    1. WriteProperties
    2. Terminate

Resize[editar]

Neste evento pódense definir as dimensións dos obxectos visuais que hai dentro do control de usuario.

Por exemplo, nun control de usuario coa propiedade ScaleMode a 3 (que significa que a unidade de medida a empregar é o píxel) e unha caixa de texto, poderíamos definir que a caixa de texto tivese 5 píxeles de bordo co seguinte código:

Private Sub UserControl_Resize()
    Text1.Top = 5
    Text1.Left = 5
    Text1.Height = Height / Screen.TwipsPerPixelY - 10
    Text1.Width = Width / Screen.TwipsPerPixelX - 10
End Sub

Así, cada vez que se modificase o tamaño do control nun formulario, este adaptaríase ao novo tamaño, deixando no caso do exemplo 5 píxeles de marxe. Estoutro exemplo permitiría que o control de usuario se axustase perfectamente ao novo tamaño, sen bordo algún:

Private Sub UserControl_Resize()
    Text1.Top = 0
    Text1.Left = 0
    Text1.Height = Height / Screen.TwipsPerPixelY
    Text1.Width = Width / Screen.TwipsPerPixelX
End Sub

Definición de propiedades[editar]

Para definir unha propiedade nun control de usuario, fan falla tres cousas:

  • Unha variable privada do control de usuario. Esta pode ser unha propiedade dun dos obxectos que contén o control, como a propiedade Text dunha caixa de texto.
  • Un método Property Let para establecer o valor da propiedade.
  • Unha función Property Get para obter o valor da propiedade.

Método e función deben ter o mesmo nome, e será o nome da propiedade tal e como se verá na lista de propiedades do control de usuario. Iso significa que o conxunto de caracteres que se poden empregar para o nome dunha propiedade está limitado aos caracteres do inglés.

Engadir un control a un formulario[editar]

Para engadir un control a un formulario abonda con seleccionalo na barra de ferramentas (de maneira predeterminada na parte lateral esquerda do programa) e debuxalo no formulario. O control previamente creado debería aparecer ao final da barra de ferramentas (abaixo).

Se o botón para engadir o control ao formulario aparece en cor gris, probablemente signifique que aínda non se pecharon as xanelas de edición do control. Asegúrese de que estan todas pechadas e volva intentalo.

Véxase tamén[editar]

Ligazóns externas[editar]

  • http:// visualbasic.freetutes.com/learn-vb6-advanced/lesson13/p16.html


Microsoft Visual Basic 6
← Volver a Traballar con bases de datos Crear controis de usuario