función MsgBox de Visual Basic no tiene medios para centrar el texto que desea mostrar con la función . Sin embargo , puede crear una función equivalente que hace la visualización de texto centrado. Un enfoque para la creación de esta función es diseñar un formulario personalizado con una etiqueta que cambia de posición dinámicamente cada vez que se cambia el tamaño del formulario que contiene la etiqueta. Diseñar el formulario
El primer paso en la creación de su propia función MsgBox cuyo texto se puede dinámicamente recentrar es diseñar el formulario personalizado que se mostrará el texto. Esto implica la creación de un proyecto de formulario de VB de Windows. Dentro del entorno de desarrollo de Visual Basic , presione "Control" y " N " al mismo tiempo , haga clic en el elemento de Windows Forms para crear un proyecto .
Etiqueta de control
Cuando Aparecerá la ventana de diseño de la forma , arrastre un control Label desde el Cuadro de herramientas hasta el formulario. Coloque la etiqueta en cualquier lugar, el programa se centrará la etiqueta. Sin embargo , sí es necesario especificar que el texto dentro de la etiqueta debe estar centrado . Para ello, haga clic en la " Alineación del texto " propiedad en la ventana Propiedades. VB mostrará un pequeño formulario con nueve botones. Cada botón indica una opción de alineación para el texto de la etiqueta. Haga clic en el botón central para especificar que el texto de la etiqueta debe estar centrado . Añadir un poco de texto a la etiqueta , escriba el texto en la propiedad "Texto" de la ventana Propiedades. Por ejemplo, escriba " Aquí hay un texto que me gustaría centro".
Ventana Programación
Después de diseñar la forma de simular la función MsgBox , entrar en la ventana de programación , en el que puede escribir declaraciones que se centran en el control Label que sostiene el texto. Pulsando la tecla " F7" te lleva a la ventana.
Formulario Eventos
formas VB pueden tener cualquier tamaño que el usuario quiere arrastrar a . Este comportamiento significa que el texto no es probable que se centra menos que se puede detectar cuando se cambia el tamaño del formulario y cambie la posición de la etiqueta que contiene el texto en consecuencia. Funciones de eventos de Windows sí proporcionan una manera de detectar el cambio de tamaño y otros eventos . La función de evento específico necesario en el que para escribir declaraciones que centrar el texto dinámicamente es el evento Paint . Siempre que VB tiene que volver a dibujar la forma, se utiliza esta función evento. Cambiar el tamaño provoca este evento , al igual que la forma reapareciendo detrás de la ventana de otra aplicación.
Personalizar Paint Evento
Indique a VB que desea escribir su programa de texto centrado en el evento Paint , seleccione el evento de las listas desplegables de la ventana de programación. Haga clic en " Form event " de la lista desplegable de la izquierda por encima de la ventana de programación , a continuación, haga clic en la opción " Paint " de la lista desplegable de la derecha. VB mostrará la función Paint en blanco para que usted llene de sus propias declaraciones.
Cálculos para centrar
Utilización de la sentencia Paint para centrar un control Label implica algunos básicos cálculos . Será realizar estos mismos cálculos para centrar el texto en un soporte físico , como un trozo de papel. Pegue las siguientes declaraciones en la función de la pintura . Estas declaraciones calcular la orilla izquierda del control Label , cuyo texto está centrado. Los comentarios de la declaración explican cada paso del cálculo. Pon a prueba tu emulador MsgBox para centrar el texto pulsando la tecla "F5 " . Cuando aparece la pantalla del programa , arrastre una de las esquinas para cambiar el tamaño del formulario. Su texto se quedará centrado.
'Get tamaño de la etiqueta ' Get tamaño de forma " Restar tamaño de la etiqueta del tamaño del formulario ' Divide por 2' Set label.left que resulte
Dim w , w2 , DIFW = Me.Size.Widthw2 = Label1.Size.Widthdif = w - w2dif = dif /2Label1.Left = dif