função MsgBox do VB não tem meios para centralizar o texto que deseja exibir com a função . No entanto, você pode criar uma função equivalente que faz exibir texto centrado. Uma abordagem para a criação desta função é projetar um formulário personalizado com uma etiqueta que reposiciona-se dinamicamente sempre que o formulário que contém o rótulo é redimensionada. Estruturar o formulário
O primeiro passo na criação de sua própria função MsgBox cujo texto pode recentrar dinamicamente é criar o formulário personalizado que irá exibir o texto . Isso envolve a criação de um projeto VB Windows Form . Dentro do ambiente de desenvolvimento VB , pressione "Control" e "N" ao mesmo tempo, em seguida, clique no item Windows Form para criar um projeto como este.
Rótulo Controle
Quando janela de design de formulário for exibido, arraste um controle Label o ToolBox para o formulário. Posicione a etiqueta em qualquer lugar, seu programa irá centralizar o rótulo . No entanto, você precisa especificar que o texto dentro do rótulo deve ser centrado. Para fazer isso , clique na propriedade " Alinhar texto " na janela Propriedades. VB irá exibir um pequeno formulário com nove botões. Cada botão indica uma opção de alinhamento para o texto do Label. Clique no botão do meio para especificar que o texto da etiqueta deve ser centrado. Adicione algum texto para o rótulo , digitando o texto na propriedade "Text" da janela Propriedades . Por exemplo, digite " Aqui está um texto que eu gostaria de centro".
Janela Programação
Depois de projetar a forma de simular a função MsgBox , entrar na janela de programação, na qual você pode digitar as declarações que o centro de controle Label segurando o texto. Pressionando " F7 " traz para essa janela.
Formulário Eventos
formas de VB pode ter qualquer tamanho que o usuário deseja arrastá-los para . Este comportamento significa que seu texto provavelmente não vai ser centrado a menos que você pode detectar quando o formulário é redimensionado , e mudar a posição da etiqueta que contém o texto em conformidade. Funções de eventos do Windows fornecem uma maneira de detectar redimensionamento e outros eventos. A função de evento específico necessário para se escrever declarações que texto dinamicamente centro é o evento Paint. Sempre VB precisa redesenhar a forma , esta função de eventos é usado . Redimensionamento desencadeia este evento , assim como o formulário de reaparecer por trás da janela de outro aplicativo.
Personalizando Pinte Evento
Indique para VB você deseja digitar o seu programa de centralização texto em o evento Paint , selecionando o evento a partir de listas drop-down da janela de programação. Clique em " evento Form" da esquerda lista suspensa acima da janela de programação, em seguida, clique no botão " Paint" item da lista drop-down à direita. VB irá exibir a função de pintura em branco para você preencher com suas próprias declarações.
Cálculos para Centering
Usando a instrução Paint para centralizar um controle Label envolve alguns básico cálculos . Você iria executar esses mesmos cálculos para centralizar o texto em meios físicos , como um pedaço de papel. Cole as seguintes declarações na função Paint. Estas declarações calcular a borda esquerda do controle Label cujo texto está centralização. Os comentários da Declaração de explicar cada passo do cálculo. Teste o seu emulador MsgBox para centrar texto pressionando a tecla do teclado "F5" . Quando a forma do programa aparece , arraste um dos seus cantos para redimensionar o formulário. Seu texto vai ficar centrado.
' Pega o tamanho do rótulo de " Pega o tamanho do formulário ' Subtrair tamanho da etiqueta de tamanho forma" Divide por 2 ' Set label.left resultar
Dim w , w2 , difw = Me.Size.Widthw2 = Label1.Size.Widthdif = w - w2dif = dif /2Label1.Left = dif