Copyright: Copyright(c) 1996 Microsoft Corporation.
Citation: Copyright(c) 1996 Microsoft Corporation.


Controle CheckBox

Exibe o estado da seleção de um item.

Comentários

Utilize CheckBox para apresentar ao usuário uma escolha entre dois valores, como Sim/Não, Verdadeiro/Falso ou Ativado/Desativado. Quando o usuário seleciona um CheckBox, ele exibe uma marca especial (como um X) e sua definição atual é Sim, Verdadeiro ou Ativado; se o usuário não selecionar o CheckBox, ele estará vazio e sua definição será Sim, Verdadeiro ou Ativado. Dependendo do valor da propriedade TripleState, o CheckBox também pode ter um valor nulo.

Se um CheckBox estiver ligado a uma fonte de dados, a alteração da definição irá alterar o valor daquela origem. Um CheckBox desativado mostra o valor atual, mas fica esmaecido e não permite alterações do valor a partir da interface do usuário.

Você também pode utilizar caixas de verificação dentro de uma caixa de grupos para selecionar um ou mais de um grupo de itens relacionados. Por exemplo, você pode criar um formulário de pedidos que contenha uma lista de itens disponíveis e colocar um CheckBox precedendo cada item. O usuário pode selecionar um determinado item ou itens assinalando o CheckBox correspondente.

A propriedade padrão de um CheckBox é a propriedade Value.

O evento padrão de um CheckBox é o evento Click.

Observação  O ListBox também permite que você coloque uma marca de verificação por opções selecionadas. Dependendo do seu aplicativo, você pode utilizar um ListBox em vez de um grupo de controles CheckBox.


Controle ComboBox

Combina os recursos de ListBox e TextBox. O usuário pode inserir um novo valor, como com um TextBox, ou pode selecionar um valor existente, como com um ListBox.

Comentários

Se um ComboBox estiver ligado a uma fonte de dados, então inserirá o valor que o usuário digitar ou selecionar naquela fonte de dados. Se uma caixa de combinação de múltiplas colunas estiver acoplada, então a propriedade BoundColumn determinará qual valor é armazenado na fonte de dados acoplada.

A lista em um ComboBox consiste de linhas de dados. Cada linha pode ter uma ou mais colunas, que podem aparecer com ou sem cabeçalhos. Alguns aplicativos não suportam cabeçalhos de colunas, outros fornecem apenas um suporte limitado.

A propriedade padrão de um ComboBox é a propriedade Value.

O evento padrão de um ComboBox é o evento Change.

Observação  Se você desejar que mais de uma única linha da lista apareçam sempre, convém utilizar ListBox em vez de ComboBox. Se você desejar utilizar um ComboBox e limitar os valores aos da lista, poderá definir a propriedade Style do ComboBox para que o controle pareça uma caixa de listagem suspensa.


Controle CommandButton

Inicia, finaliza ou interrompe uma ação ou uma série de ações.

Comentários

A macro ou procedimento de evento atribuído ao evento Click do CommandButton determina o que o CommandButton faz. Você pode, por exemplo, criar um CommandButton que abre outro formulário. Pode, também, exibir texto, uma figura ou ambos em um CommandButton.

A propriedade padrão de um CommandButton é a propriedade Value.

O evento padrão de um CommandButton é o evento Click.


Controle Frame

Cria um grupo de controles funcionais e visuais.

Comentários

Todos os botões de opção em um Frame são mutuamente exclusivos, portanto você pode utilizar um Frame para criar um grupo de opções. Você pode, também, utilizar Frame para agrupar controles que têm conteúdos estritamente relacionados.Por exemplo, em um aplicativo que processa pedidos de clientes, convém utilizar Frame para agrupar o nome, endereço e número de conta dos clientes.

Você pode, também, utilizar Frame para criar um grupo de botões alternar, mas os botões não são mutuamente exclusivos.

O evento padrão do controle Frame é o evento Click.


Controle Image

Exibe uma figura em um formulário.

Comentários

O Image permite que você exiba uma figura como parte dos dados de um formulário. Você poderia, por exemplo, utilizar um Image para exibir as fotografias dos empregados em formulários de pessoal.

O Image permite que você corte, dimensione ou aplique zoom a uma figura, mas não permite editar o seu conteúdo. Por exemplo, não é possível utilizar o Image para alterar as cores da figura, torná-la transparente ou refinar sua imagem. Para isso, você deve utilizar um software de edição de imagens.

O Image suporta os seguintes formatos de arquivo:

•	*.bmp

•	*.cur

•	*.gif

•	*.ico

•	*.jpg

•	*.wmf

Observação  Você pode, também, exibir uma figura em um Label. Entretanto, o Label não permite cortar, dimensionar ou aplicar zoom à figura.

O evento padrão do Image é o evento Click.


Controle ListBox

Exibe uma lista de valores e permite selecionar um ou mais valores.

Comentários

Se ListBox está ligado a uma fonte de dados, então armazena o valor selecionado naquela fonte de dados.

O ListBox pode aparecer tanto como uma lista quanto como um grupo de controles OptionButton ou CheckBox.

A propriedade padrão de um ListBox é a propriedade Value.

O evento padrão do controle ListBox é o evento Click.

Observação   Você não pode inserir texto em um ListBox suspensa.


Controle MultiPage

Apresenta múltiplas telas de informação como um único conjunto.

Comentários

Um MultiPage é útil quando você trabalha com uma grande quantidade de informações que podem ser classificadas em diversas categorias. Por exemplo, utilize um MultiPage para exibir informações de um aplicativo para empregados. Uma página poderia conter informações pessoais, como nome e endereço; outra página relacionaria empregadores anteriores e uma terceira página poderia apresentar a lista de referências. O MultiPage permite que você combine visualmente informações relacionadas enquanto mantém o registro inteiro prontamente acessível.

Novas páginas são adicionadas à direita da página atualmente selecionada, e não da página adjacente.

Observação  O MultiPage é um recipiente de uma coleção Pages, sendo que cada um contém um ou mais objetos Page.

A propriedade padrão de um MultiPage é a propriedade Value, que retorna o índice do Page atualmente ativo na coleção Pages do MultiPage.

O evento padrão de um MultiPage é o evento Change.


Controle OptionButton

Mostra o estado da seleção de um item em um grupo de opções.

Comentários

Utilize um OptionButton para mostrar se um único item em um grupo está selecionado. Observe que cada OptionButton de um Frame é mutuamente exclusivo.

Se um OptionButton estiver ligado a uma fonte de dados, o OptionButton poderá mostrar o valor dessa fonte de dados como Sim/Não, Verdadeiro/Falso ou Ativado/Desativado. Se o usuário selecionar o OptionButton, a definição atual será Sim, Verdadeiro ou Ativado; se o usuário não o selecionar, a definição será Não, Falso ou Desativado. Por exemplo, um OptionButton de um aplicativo para acompanhamento de inventários poderia mostrar se um item está descontinuado. Se o OptionButton estiver ligado a uma fonte de dados, então a alteração das definições irá altera o valor dessa fonte de dados. Um OptionButton desativado fica esmaecido e não mostra um valor.

Dependendo do valor da propriedade TripleState, um OptionButton pode, também, ter um valor nulo.

Também é possível utilizar OptionButton dentro de uma caixa de grupo para selecionar um ou mais itens relacionados de um grupo. Por exemplo, você pode criar um formulário de pedidos com uma lista de itens disponíveis, com um OptionButton precedendo cada item. O usuário pode selecionar um item específico assinalando o OptionButton correspondente.

A propriedade padrão de um OptionButton é a propriedade Value.

O evento padrão de um OptionButton é o evento Click.


Controle ScrollBar

Retorna ou define o valor de um outro controle com base na posição da caixa de rolagem.

Comentários

Um ScrollBar é um controle autônomo que você pode colocar em um formulário. Visualmente, é parecido com a barra de rolagem que se pode ver em certos objetos, como um ListBox ou a parte suspensa de um ComboBox. Entretanto, diferentemente das barras de rolagem desses exemplos, o ScrollBar autônomo não é parte integrante de nenhum outro controle.

Para utilizar ScrollBar para definir ou ler o valor de um outro controle, você deve escrever código para os eventos e métodos do ScrollBar. Por exemplo, para utilizar o ScrollBar a fim de atualizar o valor de um TextBox, você pode escrever o código que lê a propriedade Value de ScrollBar e, em seguida, define a propriedade Value de TextBox.

A propriedade padrão de um ScrollBar é a propriedade Value.

O evento padrão de um ScrollBar é o evento Change.

Observação  Para criar um ScrollBar horizontal ou vertical, arraste as alças de dimensionamento do ScrollBar horizontal ou verticalmente pelo formulário.


Controle SpinButton

Incrementa e decrementa números.

Comentários

Clicar em um SpinButton altera somente o valor do próprio SpinButton. Você pode escrever o código que utiliza o SpinButton para atualizar o valor exibido de outro controle. Por exemplo, você pode utilizar um SpinButton para alterar o mês, dia ou ano mostrados em uma data. Pode também usá-lo para se movimentar por um intervalo de valores ou lista de itens ou para alterar o valor exibido em uma caixa de texto.

Para exibir um valor atualizado por um SpinButton, você deve atribuir o valor do SpinButton à parte exibida de um controle, como a propriedade Caption de um Label ou a propriedade Text de um TextBox. Para criar um SpinButton horizontal ou vertical, arraste as alças de dimensionamento do SpinButton horizontal ou verticalmente no formulário.

A propriedade padrão de um SpinButton é a propriedade Value.

O evento padrão de um SpinButton é o evento Change.


Controle TabStrip

Apresenta um conjunto de controles relacionados como um grupo visual.

Comentários

Você pode utilizar um TabStrip para visualizar diferentes conjuntos de informações de controles relacionados.

Por exemplo, os controles podem representar informações sobre a agenda diária de um grupo de pessoas, com cada conjunto de informações correspondendo a uma pessoa diferente do grupo. Defina o título de cada guia para que mostre o nome de uma pessoa. Em seguida, você poderá escrever código para que, ao clicar em uma guia, os controles sejam atualizados para mostrar informações sobre a pessoa identificada na guia.

Observação  O TabStrip é implementado como um recipiente de uma coleção Tabs que, por sua vez, contém um grupo de objetos Tab.

A propriedade padrão de um TabStrip é a propriedade SelectedItem.

O evento padrão de um TabStrip é o evento Change.


Controle TextBox

Exibe informações de um usuário ou de um conjunto organizado de dados.

Comentários

Um TextBox é o controle mais comumente utilizado para exibir informações inseridas por um usuário. Além disso, pode exibir um conjunto de dados, como tabela, consulta, planilha ou resultado de um cálculo. Se um TextBox estiver ligado a uma fonte de dados, a alteração do conteúdo do TextBox irá alterar também o valor da fonte de dados acoplada.

A formatação aplicada a qualquer parte do texto em um TextBox afetará todo o texto do controle. Por exemplo, se você alterar a fonte ou o tamanho em ponto de qualquer caractere do controle, essa alteração afetará todos os caracteres desse controle.

A propriedade padrão de um TextBox é a propriedade Value.

O evento padrão de um TextBox é o evento Change.


Controle ToggleButton

Mostra o estado da seleção de um item.

Comentários

Utilize um ToggleButton para mostrar se um item está selecionado. Se um ToggleButton estiver ligado a uma fonte de dados, ToggleButton mostrará o valor atual dessa fonte de dados como Sim/Não, Verdadeiro/Falso, Ativado/Desativado ou alguma outra escolha de duas definições. Se o usuário selecionar o ToggleButton, a definição atual será Sim, Verdadeiro ou Ativado; se ele não selecionar o ToggleButton, as definições serão Não, Falso ou Desativado. Se o ToggleButton estiver ligado a uma fonte de dados, a alteração da definição irá alterar o valor dessa fonte de dados. Um ToggleButton desativado mostra um valor, mas fica esmaecido e não permite alterações da interface do usuário.

Você pode, também, utilizar um ToggleButton dentro de um Frame para selecionar um ou mais de um grupo de itens relacionados. Por exemplo, é possível criar um formulário de pedidos com uma lista de itens disponíveis, com um ToggleButton precedendo cada item. O usuário pode selecionar um item específico selecionando o ToggleButton apropriado.

A propriedade padrão de um ToggleButton é a propriedade Value.

O evento padrão de um ToggleButton é o evento Click.


Objeto DataObject

Uma área de retenção de dados de texto formatado utilizada em operações de transferência. Além disso, mantém uma lista de formatos que corresponde às partes de texto armazenadas no DataObject.

Comentários

Um DataObject pode conter uma parte de texto com formato de texto da Área de Transferência e uma parte de texto para cada formato de texto adicional, tais como formatos personalizados e definidos pelo usuário.

Um DataObject é diferente da Área de Transferência. Um DataObject suporta comandos que envolvem a Área de Transferência e ações de arrastar-e-soltar para textos. Quando você inicia uma operação que envolve a Área de Transferência (como GetText) ou de arrastar-e-soltar, os dados envolvidos na operação são movidos para um DataObject.

O DataObject funciona como a Área de Transferência. Se você copiar uma seqüência de textos para um DataObject, o DataObject armazena essa seqüência de textos. Se copiar uma segunda seqüência do mesmo formato para o DataObject, o DataObject descarta a primeira seqüência de texto e armazena uma cópia da segunda. Ele armazena uma parte de texto de um formato especificado e mantém o texto da operação mais recente.


Objeto Font

Define as características do texto utilizado por um controle ou formulário.

Comentários

Cada controle ou formulário tem seu próprio objeto Font para permitir que você defina as características de seu texto independentemente das características definidas para outros controles e formulários. Utilize as propriedades de fonte para especificar o nome da fonte, definir texto sublinhado ou em negrito ou para ajustar o tamanho do texto.

Observação  As propriedades de fonte de seu formulário ou recipiente determinam os atributos padrão de fonte dos controles que você insere no formulário.

A propriedade padrão do objeto Font é a propriedade Name. Se a propriedade Name contiver uma seqüência nula, o objeto Font utilizará a fonte padrão do sistema.


Controle Label

Exibe textos descritivos.

Comentários

Um controle Label em um formulário exibe textos descritivos, tais como títulos, legendas, figuras ou breves instruções. Por exemplo, rótulos de um catálogo de endereços podem incluir um Label para um nome, rua ou cidade. O Label não exibe valores de fontes de dados ou de expressões; ele sempre se encontra desacoplado e não se altera à medida que você se move de um registro para outro.

A propriedade padrão de um Label é a propriedade Caption.

O evento padrão de um Label é o evento Click.


Objeto Page

Uma página de um MultiPage e um membro único de uma coleção Pages.

Comentários

Cada objeto Page contém seu próprio conjunto de controles e não depende necessariamente de informações de outras páginas da coleção. Um Page herda algumas propriedades de seu recipiente; o valor de cada propriedade herdada é definido pelo recipiente.

Um Page possui nome e valor de índice exclusivos dentro de uma coleção Pages. Você pode referir-se a um Page tanto pelo seu nome como pelo seu valor de índice. O índice do primeiro Page de uma coleção é 0, o do segundo Page é 1, e assim por diante. Quando dois objetos Page possuem o mesmo nome, você deve referir-se a cada Page por seu valor de índice. As referências ao nome no código acessarão somente o primeiro Page que utiliza esse nome.

•	nome padrão do primeiro Page é Page1; o do segundo Page é Page2.


Objeto Tab

•	Tab é um membro individual de uma coleção Tabs.

Comentários

Visualmente, um objeto Tab aparece como um retângulo que se projeta de uma área retangular maior ou como um botão adjacente a uma área retangular.

Contrastando com um Page, um Tab não contém controles. Os controles que aparecem dentro da região limitada por um TabStrip estão contidos no formulário, assim como o TabStrip.

Cada Tab tem seu próprio conjunto de propriedades, mas não possui métodos ou eventos. Você deve utilizar eventos do TabStrip apropriado para iniciar o processamento de um Tab individual.

Cada Tab possui nome e valor de índice exclusivos dentro da coleção. Você pode referir-se a um Tab tanto pelo seu nome como pelo seu valor de índice. O índice do primeiro Tab é 0, do segundo Tab é 1, e assim por diante. Quando dois objetos Tab possuem o mesmo nome, você deve fazer referência a cada Tab pelo seu valor de índice. As referências ao nome no código acessarão somente o primeiro Tab que utiliza esse nome.


Coleção Controls

Inclui todos os controles contidos em um objeto.

Comentários

Cada controle da coleção Controls de um objeto possui um índice exclusivo cujo valor pode ser um número inteiro ou uma seqüência. O valor de índice do primeiro controle de uma coleção é 0, o do segundo controle é 1, e assim por diante. Esse valor indica a ordem na qual os controles foram adicionados à coleção.

Se o índice for uma cadeia, representará o nome do controle. A propriedade Name de um controle especifica também um nome de controle.

Você pode utilizar a coleção Controls para enumerar ou contar controles individuais e para definir suas propriedades. Por exemplo, você pode enumerar a coleção Controls de um determinado formulário e definir a propriedade Height de cada controle com um valor especificado.

Observação  A instrução For Each...Next é útil para enumerar uma coleção.


Coleção Pages

Uma coleção Pages inclui todas as páginas de um MultiPage.

Comentários

Cada coleção Pages proporciona os recursos para gerenciar o número de páginas na coleção e para identificar a página que está sendo atualmente utilizada.

Um objeto Page possui nome e valor de índice exclusivos dentro de uma coleção Pages. Você pode referir-se a um Page tanto por seu nome como por seu valor de índice. O índice do primeiro Page da coleção é 0, do segundo Page é 1, e assim por diante. O nome padrão da primeira página é Page 1; o da segunda página é Page 2.

O valor padrão de uma coleção Pages identifica o Page atual de uma coleção.


Coleção Tabs

Uma coleção Tabs inclui todos os Tabs de um TabStrip.

Comentários

Cada coleção Tabs fornece os recursos para gerenciar o número de guias da coleção e para identificar a guia que está sendo atualmente utilizada.

O valor padrão da coleção Tabs identifica o Tab atual de uma coleção.

Um objeto Tab possui nome e valor de índice exclusivos dentro de uma coleção Tabs. Você pode referir-se a um Tab tanto por seu nome como por seu valor de índice. O índice do primeiro Tab da coleção é 0, do segundo Tab é 1, e assim por diante.


Visão Geral do Microsoft Forms Object Model


Evento AddControl

Ocorre quando um controle é inserido em um formulário, um Frame ou um Page de um MultiPage.

Sintaxe

Para Moldura
Private Sub objeto_AddControl( )

Para MultiPágina
Private Sub objeto_AddControl( índice As Long, ctrl As Control)

A sintaxe do evento AddControl possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
índice	Obrigatória. O índice do Page que conterá o novo controle.
Ctrl	Obrigatória. O controle a ser adicionado.
Comentários

O evento AddControl ocorre quando um controle é adicionado em tempo de execução. Esse evento não é iniciado quando você adiciona um controle na fase de projeto, nem é iniciado quando um formulário é inicialmente carregado e exibido em tempo de execução.

A ação padrão para esse evento é a adição de um controle ao formulário, Frame ou MultiPage especificado.

O método Add inicia o evento AddControl.


Evento AfterUpdate

Ocorre depois que os dados de um controle são alterados através da interface do usuário.

Sintaxe

Private Sub objeto_AfterUpdate( )

A sintaxe do evento AfterUpdate possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Comentários

O evento AfterUpdate ocorre independentemente de o controle estar ou não ligado (isto é, quando a propriedade RowSource especifica uma fonte de dados para o controle). Esse evento não pode ser cancelado. Se quiser cancelar a atualização (para restaurar o valor anterior do controle), utilize o evento BeforeUpdate e defina o argumento Cancelar como True.

O evento AfterUpdate ocorre após o evento BeforeUpdate e antes do evento Exit do controle atual, e antes do evento Enter do próximo controle na ordem de tabulação.


Evento BeforeDragOver

Ocorre quando uma operação arrastar-e-soltar está em andamento.

Sintaxe

Para Moldura
Private Sub objeto_BeforeDragOver( ByVal Cancelar As MSForms.ReturnBoolean, ctrl As Control, ByVal Dados As DataObject, ByVal X As Single, ByVal Y As Single, ByVal EstadoArraste As fmDragState, ByVal Efeito As MSForms.ReturnEffect, ByVal Shift As fmShiftState)

Para MultiPágina
Private Sub objeto_BeforeDragOver( índice As Long, ByVal Cancelar As MSForms.ReturnBoolean, ctrl As Control, ByVal Dados As DataObject, ByVal X As Single, ByVal Y As Single, ByVal EstadoArraste As fmDragState, ByVal Efeito As MSForms.ReturnEffect, ByVal Shift As fmShiftState)

Para Faixa de tabulação
Private Sub objeto_BeforeDragOver( índice As Long, ByVal Cancelar As MSForms.ReturnBoolean, ByVal Dados As DataObject, ByVal X As Single, ByVal Y As Single, ByVal EstadoArraste As fmDragState, ByVal Efeito As MSForms.ReturnEffect, ByVal Shift As fmShiftState)

Para outros controles
Private Sub objeto_BeforeDragOver( ByVal Cancelar As MSForms.ReturnBoolean, ByVal Dados As DataObject, ByVal X As Single, ByVal Y As Single, ByVal EstadoArraste As fmDragState, ByVal Efeito As MSForms.Return, ByVal Shift As fmShiftState)

A sintaxe do evento BeforeDragOver possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um nome de objeto válido.
índice	Obrigatória. O índice de Page em um MultiPage que será afetado pela operação arrastar-e-soltar.
Cancelar	Obrigatória. Status do evento. False indica que o controle deve manipular o evento (padrão). True indica que o aplicativo manipula o evento.
ctrl	Obrigatória. O controle que está sendo arrastado.
Dados	Obrigatória. Dados que são arrastados em uma operação arrastar-e-soltar. Os dados são empacotados em um DataObject.
X, Y	Obrigatória. As coordenadas horizontal e vertical da posição de controle. Ambas as coordenadas são medidas em pontos. X é medida a partir da borda esquerda do controle; Y é medida a partir da parte superior do controle.
EstadoArraste	Obrigatória. O estado transitório dos dados que estão sendo arrastados.
Efeito	Obrigatória. As operações suportadas pela origem de soltura
Shift	Obrigatória. Especifica o estado de SHIFT, CTRL e ALT.
Definições

As definições de EstadoArraste são:

Constante	Valor	Descrição
fmDragStateEnter	0	O ponteiro do mouse está dentro do intervalo de um destino.
fmDragStateLeave	1	O ponteiro do mouse está fora do intervalo de um destino.
fmDragStateOver	2	O ponteiro do mouse está em uma nova posição, mas permanece dentro do intervalo do mesmo destino.
As definições para Efeito são:

Constante	Valor	Descrição
fmDropEffectNone	0	Não copia nem move a origem de soltura para o destino de soltura.
fmDropEffectCopy	1	Copia a origem de soltura para o destino de soltura.
fmDropEffectMove	2	Move a origem de soltura para o destino de soltura.
fmDropEffectCopyOrMove	3	Copia ou move a origem de soltura para o destino de soltura.
As definições de Shift são:

Constante	Valor	Descrição
fmShiftMask	1	SHIFT foi pressionada.
fmCtrlMask	2	CTRL foi pressionada.
fmAltMask	4	ALT foi pressionada.
Comentários

Utilize esse evento para monitorar o ponteiro do mouse à medida que ele entra, sai ou permanece diretamente sobre um destino. válido. Quando a operação arrastar-e-soltar está em andamento, o sistema inicia esse evento quando o usuário move o mouse ou pressiona ou solta os botões do mouse. A posição do ponteiro do mouse determina o objeto de destino que recebe esse evento. Você pode determinar o estado do ponteiro do mouse examinando o argumento EstadoArraste.

Quando um controle manipula esse evento, você pode utilizar o argumento Efeito para identificar a ação de arrastar-e-soltar a ser executada. Quando Efeito está definido como fmDropEffectCopyOrMove, a origem de soltura suporta uma operação cópia (fmDropEffectCopy), movimentação (fmDropEffectMove) ou cancelamento (fmDropEffectNone).

Quando Efeito é definido como fmDropEffectCopy, a origem de soltura suporta uma operação cópia ou cancelamento (fmDropEffectNone).

Quando Efeito é definido como fmDropEffectMove, a origem de soltura suporta uma operação movimentação ou cancelamento (fmDropEffectNone).

Quando Efeito é definido como fmDropEffectNone, a origem de soltura suporta uma operação cancelamento.

A maioria dos controles não suporta arrastar-e-soltar enquanto Cancelar for False, que é a definição padrão. Isso significa que o controle rejeita tentativas de arrastar ou soltar qualquer coisa no controle, e o controle não inicia o evento BeforeDropOrPaste. Os controles TextBox e ComboBox são exceções, pois suportam operações arrastar-e-soltar mesmo quando Cancelar for False.


Evento BeforeDropOrPaste

Ocorre quando o usuário está prestes a soltar ou colar dados em um objeto.

Sintaxe

Para Moldura
Private Sub objeto_BeforeDropOrPaste( ByVal Cancelar As MSForms.ReturnBoolean, ctrl As Control, ByVal Ação As fmAction, ByVal Dados As DataObject, ByVal X As Single, ByVal Y As Single, ByVal Y As Single, ByVal Efeito As MSForms.ReturnEffect, ByVal Shift As fmShiftState)

Para MultiPágina
Private Sub objeto_BeforeDropOrPaste( índice As Long, ByVal Cancelar As MSForms.ReturnBoolean, ctrl As Control, ByVal Ação As fmAction, ByVal Dados As DataObject, ByVal X As Single, ByVal Y As Single, ByVal Efeito As MSForms.ReturnEffect, ByVal Shift As fmShiftState)

Para Faixa de tabulação
Private Sub objeto_BeforeDropOrPaste( índice As Long, ByVal Cancelar As MSForms.ReturnBoolean, ByVal Ação As fmAction, ByVal Dados As DataObject, ByVal X As Single, ByVal Efeito As MSForms.ReturnEffect, ByVal Shift As fmShiftState)

Para outros controles
Private Sub objeto_BeforeDropOrPaste( ByVal Cancelar As MSForms.ReturnBoolean, ByVal Ação As fmAction, ByVal Dados As DataObject, ByVal X As Single, ByVal Y As Single, ByVal Efeito As MSForms.ReturnEffect, ByVal Shift As fmShiftState)

A sintaxe do evento BeforeDropOrPaste possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um nome de objeto válido.
índice	Obrigatória. O índice de Page em um MultiPage que a operação soltar ou colar irá afetar.
Cancelar	Obrigatória. Status do evento. False indica que o controle deve manipular o evento (padrão). True indica que o aplicativo manipula o evento.
ctrl	Obrigatória. O controle de destino.
Ação	Obrigatória. Indica o resultado, com base nas atuais definições de teclado, da operação arrastar-e-soltar pendente.
Dados	Obrigatória. Os dados que são arrastados em uma operação arrastar-e-soltar. Os dados são empacotados em um DataObject.
X, Y	Obrigatória. A posição horizontal e vertical do ponteiro do mouse quando ocorre a soltura. Ambas as coordenadas são medidas em pontos. X é medida a partir da borda esquerda do controle; Y é medida a partir do topo do controle.
Efeito	Obrigatória. O efeito da operação arrastar-e-soltar sobre o controle de destino.
Shift	Obrigatória. Especifica o estado de SHIFT, CTRL e ALT.
Definições

As definições de Ação são:

Constante	Valor	Descrição
fmActionPaste	2	Cola o objeto selecionado no destino de soltura.
fmActionDragDrop	3	Indica que o usuário arrastou o objeto da sua origem até o destino de soltura e o soltou no destino de soltura.
As definições de Efeito são:

Constante	Valor	Descrição
fmDropEffectNone	0	Não copia nem move a origem de soltura para o destino de soltura.
fmDropEffectCopy	1	Copia a origem de soltura no destino de soltura.
fmDropEffectMove	2	Move a origem de soltura para o destino de soltura.
fmDropEffectCopyOrMove	3	Copia ou move a origem de soltura para o destino de soltura.
As definições de Shift são:

Constante	Valor	Descrição
fmShiftMask	1	SHIFT foi pressionada.
fmCtrlMask	2	CTRL foi pressionada.
fmAltMask	4	ALT foi pressionada.
Comentários

Para um MultiPage ou TabStrip, o Visual Basic para Aplicativos inicia esse evento ao transferir um objeto dados para o controle.

Para outros controles, o sistema inicia esse evento imediatamente antes da operação soltar ou colar.

Quando um controle manipula esse evento, você pode atualizar o argumento Ação para identificar a ação de arrastar-e-soltar a executar. Quando Efeito é definido como fmDropEffectCopyOrMove, você pode atribuir Ação a fmDropEffectNone, fmDropEffectCopy ou fmDropEffectMove. Quando Efeito está definido como fmDropEffectCopy ou fmDropEffectMove, você pode reatribuir Ação a fmDropEffectNone. Não é possível reatribuir Ação quando Efeito é definido como fmDropEffectNone.


Evento BeforeUpdate

Ocorre antes que os dados de um controle sejam alterados.

Sintaxe

Private Sub objeto_BeforeUpdate( ByVal Cancelar As MSForms.ReturnBoolean)

A sintaxe do evento BeforeUpdate possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Cancelar	Obrigatória. Status do evento. False indica que o controle deve manipular o evento (padrão). True cancela a atualização e indica que o aplicativo deve manipular o evento.
Comentários

O evento BeforeUpdate ocorre independentemente de o controle estar ligado (isto é, quando a propriedade RowSource especifica uma fonte de dados para o controle). Esse evento ocorre antes dos eventos AfterUpdate e Exit relativos ao controle (e antes do evento Enter relativo ao próximo controle que recebe o foco).

Se você definir o argumento Cancelar como True, o foco permanecerá sobre controle, não ocorrendo nem o evento AfterUpdate nem o evento Exit.


Evento Change

Ocorre quando a propriedade Value é alterada.

Sintaxe

Private Sub objeto_Change( )

A sintaxe do evento Change possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Definições

O evento Change ocorre quando a definição da propriedade Value é alterada, independentemente de a alteração resultar da execução do código ou de uma ação do usuário na interface.

Veja aqui alguns exemplos de ações que alteram a propriedade Value:

•	Clicar em um CheckBox, OptionButton ou ToggleButton.

•	Digitar ou selecionar um novo valor de texto para um ComboBox, ListBox ou TextBox.

•	Selecionar uma outra faixa de tabulação em um TabStrip.

•	Mover a caixa de rolagem em um ScrollBar.

•	Clicar na seta para cima ou para baixo em um SpinButton.

•	Selecionar uma outra página em um MultiPage.

Comentários

O procedimento do evento Change pode sincronizar ou coordenar os dados exibidos entre os controles. Por exemplo, você pode utilizar o procedimento do evento Change de um ScrollBar para atualizar o conteúdo de um TextBox que exibe o valor do ScrollBar. Ou pode utilizar um procedimento do evento Change para exibir dados e fórmulas em uma área de trabalho e resultados em uma outra área.

Observação  Em alguns casos, o evento Click também pode ocorrer quando a propriedade Value é alterada. Contudo, utilizar o evento Change é a técnica preferida para a detecção de um novo valor de uma propriedade.


Evento Click

Ocorre em um dos casos a seguir:

•	O usuário clica em um controle com o mouse.

•	O usuário seleciona definitivamente um valor para um controle com mais de um valor possível.

Sintaxe

Para MultiPágina, Faixa de tabulação
Private Sub objeto_Click( índice As Long)

Para todos os outros controles
Private Sub objeto_Click( )

A sintaxe do evento Click possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
índice	Obrigatória. O índice da página ou guia em um MultiPage ou TabStrip associado a esse evento.
Comentários

Dos dois casos em que o evento Click ocorre, o primeiro se aplica a CommandButton, Frame, Image, Label, ScrollBar e SpinButton. O segundo se aplica a CheckBox, ComboBox, ListBox, MultiPage, TabStrip e ToggleButton. Também se aplica a um OptionButton quando o valor é alterado para True.

Veja a seguir exemplos de ações que iniciam o evento Click:

•	Clicar em uma área vazia de um formulário ou controle desativado (que não seja uma caixa de listagem) no formulário.

•	Clicar em um CommandButton. Se o botão de comando ainda não tiver o foco, o evento Enter ocorrerá antes do evento Click.

•	Pressionar a BARRA DE ESPAÇOS quando um CommandButton tiver o foco.

•	Clicar em um controle com o botão esquerdo do mouse (dê um clique com o botão esquerdo do mouse).

•	Pressionar ENTER em um formulário que possui um botão de comando cuja propriedade Default é definida como True, desde que nenhum outro botão de comando tenha o foco.

•	Pressionar ESC em um formulário que possui um botão de comando cuja propriedade Cancel é definida como True desde que nenhum outro comando tenha o foco.

•	Pressionar a tecla aceleradora. de um controle.

Quando o evento Click é resultante do clique de um controle, a seqüência de eventos que leva ao evento Click é:

1.	MouseDown

2.	MouseUp

3.	Click

Em alguns controles, o evento Click ocorre quando a propriedade Value é alterada. Contudo, a utilização do evento Change é a técnica preferida para detectar um novo valor para uma propriedade. Veja a seguir exemplos de ações que iniciam o evento Click em conseqüência da atribuição de um novo valor a um controle:

•	Clicar em uma outra página ou guia em um MultiPage ou TabStrip. A propriedade Value desses controles reflete o Page ou Tab atual. Clicar na página ou guia atual não altera o valor do controle e não inicia o evento Click.

•	Clicar em um CheckBox ou ToggleButton, pressionar a BARRA DE ESPAÇOS quando um desses controles tem o foco, pressionar a tecla aceleradora de um desses controles ou alterar o valor do controle em código.

•	Alterar o valor de um OptionButton para True. A definição de um OptionButton em um grupo como True define todos os outros botões do grupo como False, mas o evento Click ocorre somente no botão cujo valor é alterado para True.

•	Selecionar um valor para um ComboBox ou ListBox de modo que corresponda a um item da lista suspensa do controle. Por exemplo, se uma lista não for classificada, a primeira correspondência para os caracteres digitados na área de edição poderá não ser a única correspondência da lista; portanto, escolher tal valor não inicia o evento Click. Em uma lista classificada, você pode utilizar a correspondência de entrada para garantir que um valor selecionado seja uma correspondência exclusiva do texto que o usuário digitar.

O evento Click não é iniciado quando Value é definido como Null.

Observação  Clicar com o botão esquerdo altera o valor de um controle; assim, ele inicia o evento Click. Clicar com o botão direito não altera o valor do controle; portanto, ele não inicia o evento Click.


Evento DblClick

Ocorre quando o usuário aponta para um objeto e, em seguida, clica duas vezes em um botão do mouse.

Sintaxe

Para MultiPágina, Faixa de tabulação
Private Sub objeto_DblClick( índice As Long, ByVal Cancelar As MSForms.ReturnBoolean)

Para outros controles
Private Sub objeto_DblClick( ByVal Cancelar As MSForms.ReturnBoolean)

A sintaxe do evento DblClick possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
índice	Obrigatória. A posição de um objeto de Page ou Tab dentro de uma coleção Pages ou Tabs.
Cancelar	Obrigatória. Status do evento. False indica que o controle deve manipular o evento (padrão). True indica que o aplicativo manipula o evento.
Comentários

Para que esse evento ocorra, os dois cliques devem acontecer dentro do intervalo de tempo especificado pelo ajuste da velocidade do clique duplo do sistema.

Nos controles que suportam o Click, a seguinte seqüência de eventos conduz ao evento DblClick:

1.	MouseDown

2.	MouseUp

3.	Click

4.	DblClick

Se um controle, tal como TextBox, não suportar o Click, ele será omitido da ordem de eventos que conduz ao evento DblClick.

Se o valor de retorno de Cancelar for True quando o usuário clicar duas vezes, o controle ignorará o segundo clique. Isso será útil se o segundo clique reverter o efeito do primeiro, como clicar duas vezes em um botão de alternância. O argumento Cancelar permite que seu formulário ignore o segundo clique de forma que clicar uma ou duas vezes no botão tenha o mesmo efeito.


Evento DropButtonClick

Ocorre sempre que a lista suspensa aparece ou desaparece.

Sintaxe

Private Sub objeto_DropButtonClick( )

A sintaxe do evento DropButtonClick possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Comentários

Você pode iniciar o evento DropButtonClick através de código ou adotando certas práticas na interface do usuário.

No código, chamar o método DropDown inicia o evento DropButtonClick.

Na interface do usuário, qualquer uma das ações a seguir inicia o evento:

•	Clicar no botão suspenso no controle.

•	Pressionar F4.

Qualquer uma das ações acima, em código ou na interface, faz com que a caixa suspensa apareça no controle. O sistema inicia o evento DropButtonClick quando a caixa suspensa desaparece.


Eventos Enter e Exit

O evento Enter ocorre antes de um controle receber o foco de um controle no mesmo formulário. O evento Exit ocorre imediatamente antes de um controle perder o foco para um outro controle no mesmo formulário.

Sintaxe

Private Sub objeto_Enter( )

Private Sub objeto_Exit( ByVal Cancelar As MSForms.ReturnBoolean)

A sintaxe dos eventos Enter e Exit possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um nome de objeto válido.
Cancelar	Obrigatória. Status do evento. False indica que o controle deve manipular o evento (padrão). True indica que o aplicativo controla o evento e o foco deve permanecer no controle atual.
Comentários

Os eventos Enter e Exit são semelhantes aos eventos GotFocus e LostFocus no Visual Basic. Diferentemente do GotFocus e LostFocus, os eventos Enter e Exit não ocorrem quando um formulário recebe ou perde o foco.

Por exemplo, suponhamos que você selecione a caixa de seleção que inicia o evento Enter. Se, em seguida, você selecionar um outro controle no mesmo formulário, o evento Exit será iniciado na caixa de seleção (pois o foco está se movendo para um outro objeto no mesmo formulário) e, então, ocorrerá o evento Enter no segundo controle no formulário.

Como o evento Enter ocorre antes que o foco se mova para um controle específico, você pode utilizar o procedimento do evento Enter para exibir instruções; por exemplo, pode utilizar uma macro ou um procedimento de evento para exibir um pequeno formulário ou caixa de mensagem identificando o tipo de dados que o controle normalmente contém.

Observação  Para evitar que o controle perca o foco, atribua True ao argumento Cancelar do evento Exit.


Evento Error

Ocorre quando um controle detecta um erro e não consegue retornar as informações sobre o erro para um programa de chamada.

Sintaxe

Para MultiPágina
Private Sub objeto_Error( índice As Long, ByVal Número As Integer, ByVal Descrição As MSForms.ReturnString, ByVal CódigoS As SCode, ByVal Origem As String, ByVal ArquivoAjuda As String, ByVal ContextoAjuda As Long, ByVal CancelarExibição As MSForms.ReturnBoolean)

Para outros controles
Private Sub objeto_Error( ByVal Número As Integer, ByVal Descrição As MSForms.ReturnString, ByVal CódigoS As SCode, ByVal Origem As String, ByVal ArquivoAjuda As String, ByVal ContextoAjuda As Long, ByVal CancelarExibição As MSForms.ReturnBoolean)

A sintaxe do evento Error possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um nome de objeto válido.
índice	Obrigatória. O índice da página em um MultiPage associado a esse evento.
Número	Obrigatória. Especifica um valor exclusivo que o controle utiliza para identificar o erro.
Descrição	Obrigatória. Uma descrição textual do erro.
CódigoS	Obrigatória. Especifica o código do status OLE do erro. Os 16 bits de ordem inferior especificam um valor idêntico ao argumento Número.
Origem	Obrigatória. A seqüência que identifica o controle que iniciou o evento.
ArquivoDa Ajuda	Obrigatória. Especifica um nome de caminho integralmente qualificado para o arquivo de Ajuda que descreve o erro.
ContextoDaA-juda	Obrigatória. Especifica a ident. de contexto do tópico do arquivo de Ajuda que contém uma descrição do erro.
CancelarExibição	Obrigatória. Especifica se deve ser exibida a seqüência de erro em uma caixa de mensagem.
Comentários

O código escrito para o evento Error determina como o controle responde à condição de erro.

A capacidade de manipular condições de erro varia de um aplicativo para outro. O evento Error é iniciado quando ocorre um erro com o qual o aplicativo não tem condições de lidar.


Eventos KeyDown e KeyUp

Ocorrem em seqüência quando um usuário pressiona e solta uma tecla. O evento KeyDown ocorre quando o usuário pressiona uma tecla. O evento KeyUp ocorre quando o usuário solta uma tecla.

Sintaxe

Private Sub objeto_KeyDown( ByVal CódigoTecla As MSForms.ReturnInteger, ByVal Shift As fmShiftState)

Private Sub objeto_KeyUp( ByVal CódigoTecla As MSForms.ReturnInteger, ByVal Shift As fmShiftState)

As sintaxes dos eventos KeyDown e KeyUp possuem as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um nome de objeto válido.
CódigoTecla	Obrigatória. Um inteiro que representa o código de tecla da tecla que foi pressionada ou solta.
Shift	Obrigatória. O estado de SHIFT, CTRL e ALT.
Definições

As definições para Shift são:

Constante	Valor	Descrição
fmShiftMask	1	SHIFT foi pressionada.
fmCtrlMask	2	CTRL foi pressionada.
fmAltMask	4	ALT foi pressionada.
Comentários

O evento KeyDown ocorre quando o usuário pressiona uma tecla em um formulário que está sendo executado enquanto esse formulário ou um controle nele tem o foco. Os eventos KeyDown e KeyPress se alternam repetidamente até que o usuário solte a tecla, momento em que ocorre o evento KeyUp. O formulário ou controle com o foco recebe todos os pressionamentos de tecla. Um formulário somente pode ter o foco se não tiver controles ou se todos os seus controles visíveis estiverem desativados.

Esses eventos também ocorrem se você enviar um pressionamento de tecla de um formulário ou controle utilizando ou a ação SendKeys em uma macro ou a Instrução SendKeys do Visual Basic.

Os eventos KeyDown e KeyUp são tipicamente utilizados para reconhecer ou diferenciar entre:

•	Teclas de caracteres estendidos, como teclas de função.

•	Teclas de navegação, como HOME, END, PAGEUP, PAGEDOWN, UP ARROW, DOWN ARROW, RIGHT ARROW, LEFT ARROW e TAB.

•	Combinações de teclas e modificadores de teclado padrão (SHIFT, CTRL, ou ALT).

•	As teclas de número do teclado numérico e do teclado.

Os eventos KeyDown e KeyUp não ocorrem sob as circunstâncias a seguir:

•	O usuário pressiona ENTER em um formulário com um botão de comando cuja propriedade Default é definida como True.

•	O usuário pressiona ESC em um formulário com um botão de comando cuja propriedade Cancel é definida como True.

Os eventos KeyDown e KeyPress ocorrem quando você pressiona ou envia uma tecla ANSI. O evento KeyUp ocorre após qualquer evento para um controle causado pelo pressionamento ou envio da tecla. Se um pressionamento de tecla faz com que o foco se mova de um controle para outro, o evento KeyDown ocorre para o primeiro controle, ao passo que os eventos KeyPress e KeyUp ocorrem para o segundo.

A seqüência de eventos relacionados ao teclado é:

1.	KeyDown

2.	KeyPress

3.	KeyUp

Observação  Os eventos KeyDown e KeyUp somente se aplicam a formulários e controles em um formulário. Para interpretar caracteres ANSI ou para descobrir qual caractere ANSI corresponde à tecla pressionada, utilize o evento KeyPress.


Evento KeyPress

Ocorre quando o usuário pressiona uma tecla ANSI.

Sintaxe

Private Sub objeto_KeyPress( ByVal TeclaANSI As MSForms.ReturnInteger)

A sintaxe do evento KeyPress tem estas partes:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
TeclaANSI	Obrigatória. Um valor inteiro que representa um código de tecla numérica ANSI padrão.
Comentários

O evento KeyPress ocorre quando o usuário pressiona uma tecla que produz um caractere digitável (uma tecla ANSI) em um formulário que está sendo executado enquanto o formulário ou um controle sobre ele tem o foco O evento pode ocorrer tanto antes como depois de a tecla ser solta. Esse evento também ocorre se você enviar um pressionamento de tecla ANSI para um formulário ou controle utilizando tanto a ação SendKeys de uma macro como a Instrução SendKeys do Visual Basic.

Um evento KeyPress pode ocorrer quando qualquer uma das seguintes teclas for pressionada:

•	Qualquer caractere de teclado imprimível.

•	CTRL combinada com um caractere do alfabeto padrão.

•	CTRL combinada com qualquer caractere especial.

•	BACKSPACE.

•	ESC.

Um evento KeyPress não ocorre sob as condições a seguir:

•	Pressionando TAB.

•	Pressionando ENTER.

•	Pressionar uma tecla de seta.

•	Quando um pressionamento de tecla faz com que o foco se mova de um controle para outro.

Observação  BACKSPACE faz parte do Conjunto de caracteres ANSI, mas DELETE não. A exclusão de um caractere em um controle utilizando BACKSPACE gera um evento KeyPress; a exclusão de um caractere utilizando DELETE não.

Quando um usuário mantém pressionada uma tecla que produz um código de tecla ANSI, os eventos KeyDown e KeyPress se alternam repetidamente. Quando o usuário solta a tecla, ocorre o evento KeyUp. O formulário ou controle que tem o foco recebe todos os pressionamentos de tecla. Um formulário pode ter o foco somente se não tiver controles ou se todos os seus controles visíveis estiverem desativados.

A ação padrão para o evento KeyPress é processar o código de evento que corresponde à tecla que foi pressionada. TeclaANSI indica o caractere ANSI que corresponde à tecla ou à combinação de teclas pressionada. O evento KeyPress interpreta a maiúscula e minúscula de cada caractere como códigos de tecla independentes e, portanto, como dois caracteres distintos.

Para responder ao estado físico do teclado ou manipular pressionamentos de tecla não reconhecidos pelo evento KeyPress, como teclas de função, teclas de navegação ou qualquer combinação dessas teclas com modificadores de teclado (ALT, SHIFT ou CTRL), utilize os procedimentos dos eventos KeyDown e KeyUp.

A seqüência de eventos relacionados ao teclado é:

1.	KeyDown

2.	KeyPress

3.	KeyUp


Evento Layout

Ocorre quando o tamanho de um formulário, Frame ou MultiPage é alterado.

Sintaxe

Para MultiPágina
Private Sub objeto_Layout( índice As Long)

Para todos os outros controles
Private Sub objeto_Layout( )

A sintaxe do evento Layout possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
índice	Obrigatória. O índice da página de um MultiPage cujo tamanho foi alterado.
Comentários

A ação padrão do evento Layout é calcular novas posições de controles e redesenhar a tela.

Um usuário pode iniciar o evento Layout alterando o tamanho de um controle.

Para controles que suportam a propriedade AutoSize, o evento Layout é iniciado quando AutoSize altera o tamanho do controle. Isso ocorre quando o usuário altera o valor de uma propriedade que afeta o tamanho de um controle. Por exemplo, aumentar o tamanho de Font de um TextBox ou Label pode alterar significativamente as dimensões do controle e iniciar um evento Layout.


Eventos MouseDown e MouseUp

Ocorrem quando o usuário clica em um botão do mouse. O evento MouseDown ocorre quando o usuário pressiona o botão do mouse; o evento MouseUp ocorre quando o usuário solta o botão do mouse.

Sintaxe

Para MultiPágina, Faixa de tabulação
Private Sub objeto_MouseDown( índice As Long, ByVal Botão As fmButton, ByVal Shift As fmShiftState, ByVal X As Single, ByVal Y As Single)

Private Sub objeto_MouseUp( índice As Long, ByVal Botão As fmButton, ByVal Shift As fmShiftState, ByVal X As Single, ByVal Y As Single)

Para outros controles
Private Sub objeto_MouseDown( ByVal Botão As fmButton, ByVal Shift As fmShiftState, ByVal X As Single, ByVal Y As Single)

Private Sub objeto_MouseUp( ByVal Botão As fmButton, ByVal Shift As fmShiftState, ByVal X As Single, ByVal Y As Single)

As sintaxes dos eventos MouseDown e MouseUp possuem as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
índice	Obrigatória. O índice da página ou guia de um MultiPage ou TabStrip com o evento especificado.
Botão	Obrigatória. Um valor inteiro que identifica qual botão do mouse causou o evento.
Shift	Obrigatória. O estado de SHIFT, CTRL e ALT.
X, Y	Obrigatória. A posição horizontal ou vertical, em pontos, a partir da borda esquerda ou superior do formulário, Frame ou Page.
Definições

As definições para Botão são:

Constante	Valor	Descrição
fmButtonLeft	1	O botão esquerdo foi pressionado.
fmButtonRight	2	O botão direito foi pressionado.
fmButtonMiddle	4	O botão do meio foi pressionado.
As definições para Shift são:

Valor	Descrição
1	SHIFT foi pressionada.
2	CTRL foi pressionada.
3	SHIFT e CTRL foram pressionadas.
4	ALT foi pressionada.
5	ALT e SHIFT foram pressionadas.
6	ALT e CTRL foram pressionadas.
7	ALT, SHIFT e CTRL foram pressionadas.
Você pode identificar os modificadores individuais de teclado utilizando as constantes a seguir:

Constante	Valor	Descrição
fmShiftMask	1	Máscara para detectar SHIFT.
fmCtrlMask	2	Máscara para detectar CTRL.
fmAltMask	4	Máscara para detectar ALT.
Comentários

Para um MultiPage, o evento MouseDown ocorre quando o usuário pressiona um botão do mouse sobre o controle.

Para um TabStrip, o argumento do índice identifica a guia na qual o usuário clicou. Um índice de –1 indica que o usuário não clicou em uma guia. Por exemplo, se não houver guias no canto superior direito do controle, clicar no canto superior direito define o índice como –1.

Para um formulário, o usuário pode gerar os eventos MouseDown e MouseUp pressionando e soltando um botão do mouse em uma área vazia, seletor de registro e barra de rolagem no formulário.

A seqüência de eventos relacionados ao mouse é:

1.	MouseDown

2.	MouseUp

3.	Click

4.	DblClick

5.	MouseUp

Os procedimentos dos eventos MouseDown ou MouseUp especificam ações que ocorrem quando um botão do mouse é pressionado ou solto. Os eventos MouseDown e MouseUp permitem que você diferencie entre os botões esquerdo, do meio e direito do mouse. Você também pode escrever um código para combinações mouse-teclado que utilizem os modificadores de teclado SHIFT, CTRL e ALT.

Se um botão do mouse é pressionado enquanto o ponteiro está sobre um formulário ou controle, esse objeto “captura” o mouse e recebe todos os eventos do mouse até o último evento MouseUp, inclusive. Isto implica que nem sempre as coordenadas X e Y do ponteiro do mouse retornadas por um evento mouse podem estar dentro dos limites do objeto que as recebe.

Se os botões do mouse são pressionados em sucessão, o objeto que captura o mouse recebe todos os eventos sucessivos do mouse até que todos os botões sejam soltos.

Utilize o argumento Shift para identificar o estado de SHIFT, CTRL e ALT quando tiver ocorrido o evento MouseDown ou MouseUp. Por exemplo, se tanto CTRL como ALT forem pressionadas ao mesmo tempo, o valor de Shift será 6.


Evento MouseMove

Ocorre quando o usuário move o mouse.

Sintaxe

Para MultiPágina, Faixa de tabulação
Private Sub objeto_MouseMove( índice As Long, ByVal Botão As fmButton, ByVal Shift As fmShiftState, ByVal X As Single, ByVal Y As Single)

Para outros controles
Private Sub objeto_MouseMove( ByVal Botão As fmButton, ByVal Shift As fmShiftState, ByVal X As Single, ByVal Y As Single)

A sintaxe do evento MouseMove possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um nome de objeto válido.
índice	Obrigatória. O índice da página ou guia de um MultiPage ou TabStrip associado a esse evento.
Botão	Obrigatória. Um valor inteiro que identifica o estado dos botões do mouse.
Shift	Obrigatória. Especifica o estado de SHIFT, CTRL e ALT.
X, Y	Obrigatória. Uma posição horizontal ou vertical, medida em pontos, a partir da borda esquerda ou superior do controle.
Definições

O argumento índice especifica em qual página ou guia foi clicado o botão do mouse. O –1 indica que o usuário não clicou em nenhuma das páginas ou guias.

As definições para Botão são:

Valor	Descrição
0	Nenhum botão é pressionado.
1	O botão esquerdo é pressionado.
2	O botão direito é pressionado.
3	Os botões direito e esquerdo são pressionados.
4	O botão do meio é pressionado.
5	O botão do meio e esquerdo são pressionados.
6	Os botões do meio e direito são pressionados.
7	Todos os três botões são pressionados.
As definições para Shift são:

Valor	Descrição
1	SHIFT foi pressionada.
2	CTRL foi pressionada.
3	SHIFT e CTRL foram pressionadas.
4	ALT foi pressionada.
5	ALT e SHIFT foram pressionadas.
6	ALT e CTRL foram pressionadas.
7	ALT, SHIFT e CTRL foram pressionadas.
Você pode identificar modificadores individuais de teclado utilizando as constantes a seguir:

Constante	Valor	Descrição
fmShiftMask	1	Máscara para detectar SHIFT.
fmCtrlMask	2	Máscara para detectar CTRL.
fmAltMask	4	Máscara para detectar ALT.
Comentários

O evento MouseMove aplica-se a formulários, controles em um formulário e rótulos.

Eventos MouseMove são continuamente gerados à medida que o ponteiro do mouse é movido sobre os objetos. A menos que um outro objeto tenha capturado o mouse, um objeto reconhece um evento MouseMove sempre que a posição do mouse estiver dentro de seus limites.

Movimentar um formulário também pode gerar um evento MouseMove, mesmo que o mouse seja estacionário. Eventos MouseMove são gerados quando o formulário se move sob o ponteiro. Se uma macro ou procedimento de evento move um formulário em resposta a um evento MouseMove, o evento pode gerar continuamente (em cascata) eventos MouseMove.

Se dois controles estiverem muito próximos um do outro e você mover rapidamente o ponteiro do mouse sobre o espaço entre eles, poderá não ocorrer o evento MouseMove para esse espaço. Em tais casos, convém responder ao evento MouseMove em ambos os controles.

É possível utilizar o valor retornado no argumento Botão para identificar o estado dos botões do mouse.

Utilize o argumento Shift para identificar o estado de SHIFT, CTRL e ALT quando tiver ocorrido o evento MouseMove. Por exemplo, se tanto CTRL como ALT forem simultaneamente pressionadas, o valor de Shift será 6.

Observação  Você pode utilizar os procedimentos dos eventos MouseDown e MouseUp para responder a eventos causados pela ação de pressionar e soltar os botões do mouse.


Evento RemoveControl

Ocorre quando um controle é excluído do recipiente.

Sintaxe

Para MultiPágina
Private Sub objeto_RemoveControl( índice As Long, ctrl As Control)

Para todos os outros controles
Private Sub objeto_RemoveControl( ctrl As Control)

A sintaxe do evento RemoveControl possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um nome de objeto válido.
índice	Obrigatória. O índice da página de um MultiPage que continha o controle excluído.
ctrl	Obrigatória. O controle excluído.
Comentários

Esse evento ocorre quando um controle é excluído do formulário, não quando um controle é descarregado em conseqüência de o formulário estar sendo fechado.


Evento Scroll

Ocorre quando a caixa de rolagem é reposicionada.

Sintaxe

Para Barra de rolagem
Private Sub objeto_Scroll( )

Para MultiPágina
Private Sub objeto_Scroll( índice As Long, AçãoX As fmScrollAction, AçãoY As fmScrollAction, ByVal SolicitarDx As Single, ByVal SolicitarDy As Single, ByVal DxReal As MSForms.ReturnSingle, ByVal DyReal As MSForms.ReturnSingle)

Para Moldura
Private Sub objeto_Scroll( AçãoX As fmScrollAction, AçãoY As fmScrollAction, ByVal SolicitarDx As Single, ByVal SolicitarDy As Single, ByVal DxReal As MSForms.ReturnSingle, ByVal DyReal As MSForms.ReturnSingle)

A sintaxe do evento Scroll possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um nome de objeto válido.
índice	Obrigatória. O índice da página de um MultiPage associado a esse evento.
AçãoX	Obrigatória. A ação que ocorreu na direção horizontal.
AçãoY	Obrigatória. A ação que ocorreu na direção vertical.
SolicitarDx	Obrigatória. A distância, em pontos, que você deseja que a barra de rolagem mova na direção horizontal.
SolicitarDy	Obrigatória. A distância, em pontos, que você deseja que a barra de rolagem mova na direção vertical.
DxReal	Obrigatória. A distância, em pontos, que a barra de rolagem percorreu na direção horizontal.
DyReal	Obrigatória. A distância, em pontos, que a barra de rolagem percorreu na direção vertical.
Definições

As definições para AçãoX e AçãoY são:

Constante	Valor	Descrição
fmScrollActionNoChange	0	Não ocorreu nenhuma mudança.
FmScrollActionLineUp	1	Uma pequena distância para cima em uma barra de rolagem vertical; uma pequena distância para a esquerda em uma barra de rolagem horizontal. O movimento equivale a pressionar as teclas de seta acima ou seta à esquerda no teclado para mover a barra de rolagem.
FmScrollActionLineDown	2	Uma pequena distância para baixo em uma barra de rolagem vertical; uma pequena distância para a direita em uma barra de rolagem horizontal. O movimento equivale a pressionar as teclas de seta abaixo ou à direita no teclado para mover a barra de rolagem.
FmScrollActionPageUp	3	Uma página para cima em uma barra de rolagem vertical; uma página para a esquerda em uma barra de rolagem horizontal. O movimento equivale a pressionar PAGE UP no teclado para mover a barra de rolagem.
FmScrollActionPageDown	4	Uma página para baixo em uma barra de rolagem vertical; uma página para a direita em uma barra de rolagem horizontal. O movimento equivale a pressionar PAGE DOWN no teclado para mover a barra de rolagem.
FmScrollActionBegin	5	O topo de uma barra de rolagem vertical; a extremidade esquerda de uma barra de rolagem horizontal.
FmScrollActionEnd	6	A base de uma barra de rolagem vertical; a extremidade direita de uma barra de rolagem horizontal.
FmScrollActionPropertyChange	8	O valor tanto da propriedade ScrollTop como da propriedade ScrollLeft foi alterado. A direção e a quantidade de movimento dependem de qual propriedade foi alterada e do novo valor da propriedade.
FmScrollActionControlRequest	9	Um controle pediu a seu recipiente que rolasse. A quantidade de movimento depende do controle e recipiente específicos envolvidos.
FmScrollActionFocusRequest	10	O usuário moveu até um controle diferente. A quantidade de movimento depende do posicionamento do controle selecionado e, geralmente, tem o efeito de mover o controle selecionado para que fique completamente visível para o usuário.
Comentários

Os eventos Scroll associados a um formulário, Frame ou Page retornam os seguintes argumentos: AçãoX, AçãoY, XReal e YReal. AçãoX e AçãoY identificam a ação que ocorreu. XReal e YReal identificam a distância percorrida pela caixa de rolagem.

A ação padrão é calcular a nova posição da caixa de rolagem e, em seguida, rolar até essa posição.

Você pode iniciar um evento Scroll emitindo um método Scroll de um formulário, Frame ou Page. Os usuários podem gerar eventos Scroll movendo a barra de rolagem.

O evento Scroll associado a ScrollBar autônomo indica que o usuário moveu a barra de rolagem em qualquer direção. Esse evento não é iniciado quando o valor de ScrollBar é alterado pelo código ou quando o usuário clica em partes de ScrollBar que são diferentes da caixa de rolagem.


Eventos SpinDown e SpinUp

O evento SpinDown ocorre quando o usuário clica na seta do botão de rotação inferior ou esquerdo. SpinUp ocorre quando o usuário clica na seta do botão de rotação superior ou direito.

Sintaxe

Private Sub objeto_SpinDown( )

Private Sub objeto_SpinUp( )

As sintaxes dos eventos SpinDown e SpinUp possuem as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Comentários

O evento SpinDown diminui a propriedade Value. O evento SpinUp aumenta a propriedade Value.


Evento Zoom

Ocorre quando o valor da propriedade Zoom muda.

Sintaxe

Para Moldura
Private Sub objeto_Zoom( Percentual As Integer)

Para MultiPágina
Private Sub objeto_Zoom( índice As Long, Percentual As Integer)

A sintaxe do evento Zoom possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um nome de objeto válido.
índice	Obrigatória. O índice da página em uma MultiPage associada a esse evento.
Percentual	Obrigatória. A percentagem do formulário deve sofrer zoom. Os valores válidos variam de 10% a 400%.
Comentários

O valor da propriedade Zoom identifica como é alterado o tamanho do formulário ou Page. O valor da propriedade indica como o tamanho do controle deve ser alterado em relação ao seu tamanho atual. Valores menores que 100 reduzem o tamanho de exibição do formulário; valores maiores que 100 aumentam o tamanho de exibição do formulário.

Você pode definir essa propriedade como qualquer inteiro de 10 a 400.


Método Add

Adiciona ou insere um Tab ou Page em um TabStrip ou MultiPage, ou adiciona um controle pelo seu identificador programático (ProgID, programmatic identifier) a uma página ou formulário.

Sintaxe

Para MultiPágina, Faixa de tabulação
Set Objeto = objeto.Add( [ Nome [,  Legenda [,  índice]]])

Para outros controles
Set Controle = objeto.Add(  IDProg [,  Nome [,  Visível]])

A sintaxe do método Add possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um nome de objeto válido.
Nome	Opcional. Especifica o nome do objeto que está sendo adicionado. Se um nome não for especificado, o sistema gerará um nome padrão com base nas regras do aplicativo onde o formulário está sendo utilizado.
Legenda	Opcional. Especifica a legenda que aparece em uma guia ou controle. Se uma legenda não for especificada, o sistema gerará uma legenda padrão com base nas regras do aplicativo onde o formulário está sendo utilizado.
Índice	Opcional. Identifica a posição de uma página ou guia dentro de uma coleção Pages ou Tabs. Se um índice não for especificado, o sistema anexará a página ou guia ao final da coleção Pages ou Tabs e atribuirá o valor de índice apropriado.
IDProg	Obrigatória. Identificador programático. Uma seqüência de texto sem espaços que identifica uma classe de objeto. A sintaxe padrão de um IDProg é <Fornecedor>.<Componente>.<Versão>. Um IDProg é mapeado para um identificador de classe (CLSID).
Visível	Opcional. True se o objeto for visível (padrão). False se o objeto for oculto.
Definições

Os valores de IDProg para controles individuais são:

CheckBox	Forms.CheckBox.1
ComboBox	Forms.ComboBox.1
CommandButton	Forms.CommandButton.1
Frame	Forms.Frame.1
Image	Forms.Image.1
Label	Forms.Label.1
ListBox	Forms.ListBox.1
MultiPage	Forms.MultiPage.1
OptionButton	Forms.OptionButton.1
ScrollBar	Forms.ScrollBar.1
SpinButton	Forms.SpinButton.1
TabStrip	Forms.TabStrip.1
TextBox	Forms.TextBox.1
ToggleButton	Forms.ToggleButton.1
Comentários

Para um controle MultiPage, o método Add retorna um objeto Page. Para um TabStrip, retorna um objeto Tab. O valor de índice para o primeiro Page ou Tab de uma coleção é 0, o valor para o segundo Page ou Tab é 1, e assim por diante.

Para a coleção Controls de um objeto, o método Add retorna um controle correspondente ao IDProg especificado. O evento AddControl ocorre depois que o controle é adicionado.

A sintaxe a seguir retornará a propriedade Text de um controle acrescentado na fase de projeto:

userform1.thebox.text

Se você adicionar um controle em tempo de execução, deverá utilizar a sintaxe de exclamação para fazer referência a propriedades desse controle. Por exemplo, para retornar a propriedade Text de um controle adicionado em tempo de execução, utilize a sintaxe a seguir:

userform1!thebox.text

Observação  Você pode alterar a propriedade Name de um controle em tempo de execução somente se tiver adicionado esse controle em tempo de execução com o método Add.


Método AddItem

Para uma caixa de listagem ou caixa de combinação de uma coluna, adiciona um item à lista. Para uma caixa de listagem ou caixa de combinação de várias colunas, adiciona uma linha à lista.

Sintaxe

Variante = objeto.AddItem( [ item [,  ÍndiceVar]])

A sintaxe do método AddItem possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Item	Opcional. Especifica o item ou linha a adicionar. O número do primeiro item ou linha é 0; o número do segundo item ou linha é 1, e assim por diante.
ÍndiceVar	Opcional. Inteiro que especifica a posição dentro do objeto onde o novo item ou linha é colocado.
Comentários

Se você fornecer um valor válido para ÍndiceVar, o método AddItem colocará o item ou linha naquela posição dentro da lista. Se você omitir ÍndiceVar, o método adicionará o item no final da lista.

O valor de ÍndiceVar não deve ser superior ao valor da propriedade ListCount.

Para uma ListBox ou ComboBox de várias colunas, AddItem insere uma linha inteira, ou seja, insere um item para cada coluna do controle. Para atribuir valores a um item além da primeira coluna, utilize a propriedade List ou Column e especifique a linha e coluna do item.

Se o controle estiver ligado a dados, o método AddItem falhará.

Observação  Você pode adicionar mais de uma linha por vez a um ComboBox ou ListBox utilizando List.


Método Clear

Remove todos os objetos de um objeto ou coleção.

Sintaxe

objeto.Clear

A sintaxe do método Clear possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Comentários

Para um MultiPage ou TabStrip, o método Clear exclui páginas ou guias individuais.

Para um ListBox ou ComboBox, Clear remove todas as entradas da lista.

Para uma coleção Controls, Clear exclui controles que foram criados em tempo de execução com o método Add. A utilização de Clear em controles criados na fase de projeto gera um erro.

Se o controle for ligado aos dados, o método Clear falhará.


Método Copy

Copia o conteúdo de um objeto na Área de transferência.

Sintaxe

objeto.Copy

A sintaxe do método Copy possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Comentários

O conteúdo original permanece no objeto.

O conteúdo real que é copiado depende do objeto. Por exemplo, em um Page, o método Copy copia o controle ou controles atualmente selecionado(s). Em um TextBox ou ComboBox, copia o texto atualmente selecionado.

Utilizar Copy para um formulário, Frame ou Page copia o controle atualmente ativado.


Método Cut

Remove informações selecionadas de um objeto e as transfere para a Área de transferência.

Sintaxe

objeto.Cut

A sintaxe do método Cut possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Comentários

Para um ComboBox ou TextBox, o método Cut remove o texto atualmente selecionado do controle para a Área de transferência. Esse método não requer que o controle tenha o foco.

Em um Page, Frame ou formulário, Cut remove os controles atualmente selecionados para a Área de transferência. Esse método somente remove controles criados em tempo de execução.


Método DropDown

Exibe a parte da lista de um ComboBox.

Sintaxe

objeto.DropDown

A sintaxe do método DropDown possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Comentários

Utilize o método DropDown para abrir a lista de uma caixa de combinação.


Método GetFormat

Retorna um valor inteiro indicando se um formato específico está no DataObject.

Sintaxe

Booleano = objeto.GetFormat( formato)

A sintaxe do método GetFormat possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
formato	Obrigatória. Um inteiro ou seqüência especificando um formato que pode existir no DataObject. Se o formato especificado existir no DataObject, GetFormat retornará True.
Definições

As definições para formato são:

Valor	Descrição
1	Formato de texto.
Uma seqüência ou qualquer inteiro diferente de 1	Um formato DataObject definido pelo usuário passado ao DataObject por SetText.
Comentários

O método GetFormat pesquisa um formato na lista atual de formatos no DataObject. Se o formato estiver no DataObject, GetFormat retornará True; caso contrário, GetFormat retornará False.

O DataObject atualmente suporta apenas formatos de texto.


Método GetFromClipboard

Copia dados da Área de transferência para um DataObject.

Sintaxe

Seqüência = objeto.GetFromClipboard( )

A sintaxe do método GetFromClipboard possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um nome de objeto válido.
Comentários

O DataObject pode conter vários itens de dados, mas cada item deve estar em um formato diferente. Por exemplo, o DataObject pode incluir um item de texto e um item em um formato personalizado, mas não pode incluir dois itens de texto.


Método GetText

Recupera uma seqüência de texto do DataObject utilizando o formato especificado.

Sintaxe

Seqüência = objeto.GetText( [ formato])

A sintaxe do método GetText possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um nome de objeto válido.
Formato	Opcional. Uma seqüência ou inteiro que especifica o formato dos dados a serem recuperados do DataObject.
Definições

As definições para formato são:

Valor	Descrição
1	Formato de texto.
Uma seqüência ou qualquer inteiro diferente de 1	Um formato DataObject definido pelo usuário passado ao DataObject por SetText.
Comentários

O DataObject suporta vários formatos, mas suporta apenas um item de dados de cada formato. Por exemplo, o DataObject pode incluir um item de texto e um item de um formato personalizado, mas não pode incluir dois itens de texto.

Se nenhum formato for especificado, o método GetText solicitará informações no formato Text do DataObject.


Método Item

Retorna um membro de uma coleção tanto por posição como por nome.

Sintaxe

Set Objeto = objeto.Item(  índicecoleção)

A sintaxe do método Item possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Índicecoleção	Obrigatória. A posição, ou índice, de um membro dentro de uma coleção.
Comentários

O índicecoleção tanto pode ser uma seqüência como um inteiro. Se for uma seqüência, deve ser um nome de membro válido. Se for um inteiro, o valor mínimo é 0 e o valor máximo é um número uma unidade menor que o número de itens da coleção.

Comentários

Se for especificado um índice ou nome inválido, ocorrerá um erro.


Método Move

Move um formulário ou controle ou move todos os controles da coleção Controls.

Sintaxe

Para um formulário ou controle
object.Move( [Esquerda [,  Topo [,  Largura [,  Altura [,  Layout]]]]])

Para a coleção Controls
objeto.Move( X, Y)

A sintaxe do método Move possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um nome de objeto válido.
Esquerda	Opcional. Valor de precisão única, em pontos, indicando a coordenada horizontal para a borda esquerda do objeto.
Topo	Opcional. Valor de precisão única, em pontos, que especifica a coordenada vertical para a borda superior do objeto.
Largura	Opcional. Valor de precisão única, em pontos, indicando a largura do objeto.
Altura	Opcional. Valor de precisão única, em pontos, indicando a altura do objeto.
Layout	Opcional. Um valor Booleano indicando se o evento Layout é iniciado para o pai do controle após essa movimentação. False é o valor padrão.
X, Y	Obrigatória. Valor de precisão única, em pontos, que especifica a alteração da posição horizontal e vertical atual de cada controle da coleção Controls.
Definições

Os valores máximo e mínimo dos argumentos Esquerda, Topo, Largura, Altura, X e Y variam de um aplicativo para outro.

Comentários

Para um formulário ou controle, você pode mover uma seleção para um local específico relativo às bordas do formulário que contém a seleção.

Você pode utilizar argumentos nomeados ou inserir os argumentos pela posição. Se utilizar argumentos nomeados, poderá listar os argumentos em qualquer ordem. Caso contrário, será necessário inserir os argumentos na ordem exibida, utilizando vírgulas para indicar a posição relativa dos argumentos que você não especificar. Qualquer argumento não especificado permanece inalterado.

Para a coleção Controls, você pode mover todos os controles dessa coleção uma distância específica de suas posições atuais em um formulário, Frame ou Page.


Método Paste

Transfere o conteúdo da Área de transferência para um objeto.

Sintaxe

objeto.Paste

A sintaxe do método Paste possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Comentários

Dados colados em um ComboBox ou TextBox são tratados como texto.

Quando o método Paste é utilizado com um formulário, você pode colar qualquer objeto no formulário.


Método PutInClipboard

Move dados de um DataObject para a Área de transferência.

Sintaxe

objeto.PutInClipboard

A sintaxe do método PutInClipboard possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Comentários

O método PutInClipboard substitui o conteúdo da Área de transferência pelo conteúdo do DataObject que está no formato Text.


Método RedoAction

Reverte o efeito da ação Desfazer mais recente.

Sintaxe

Booleano = objeto.RedoAction

A sintaxe do método RedoAction possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Comentários

Refazer reverte o último Desfazer, o que não é necessariamente a última ação realizada. Nem todas as ações podem ser desfeitas.

Por exemplo, depois de colar um texto em um TextBox e, em seguida, escolher o comando Desfazer para remover o texto, você pode escolher o comando Refazer para recolocar o texto de volta.

Observação  Se a propriedade CanRedo for False, o comando Refazer não estará disponível na interface do usuário e o método RedoAction não será válido no código.

Se foi bem sucedido, RedoAction retorna True.


Método Remove

Remove um membro de uma coleção ou remove um controle de um Frame, Page ou formulário.

Sintaxe

objeto.Remove(  índicecoleção)

A sintaxe do método Remove possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
índicecoleção	Obrigatória. A posição, ou índice, de um membro dentro de uma coleção. Tanto valores numéricos como de seqüência são aceitáveis. Se o valor for um número, o valor mínimo será zero e o valor máximo será um número uma unidade menor que o número de membros da coleção. Se o valor for uma seqüência, deverá corresponder a um nome de membro válido.
Comentários

Esse método exclui qualquer controle que tenha sido adicionado em tempo de execução. Entretanto, uma tentativa de excluir um controle que foi adicionado na fase de projeto resultará em erro.


Método RemoveItem

Remove uma linha da lista da caixa de listagem ou caixa de combinação.

Sintaxe

Booleano = objeto.RemoveItem(  índice)

A sintaxe do método RemoveItem possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Índice	Obrigatória. Especifica a linha a se excluída. O número da primeira linha é 0; o número da segunda linha é 1, e assim por diante.
Esse método não removerá uma linha da lista se a ListBox for acoplada aos dados (isto é, quando a propriedade RowSource especifica uma fonte de dados para ListBox).


Método Repaint

Atualiza a exibição redesenhando o formulário ou a página.

Sintaxe

Booleano = objeto.Repaint

A sintaxe do método Repaint possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Comentários

O método Repaint será útil se o conteúdo ou a aparência de um objeto se alterar significativamente e você não desejar esperar até que o sistema redesenhe automaticamente a área.


Método Scroll

Move a barra de rolagem sobre um objeto.

Sintaxe

objeto.Scroll( [ AçãoX [,  AçãoY]])

A sintaxe do método Scroll possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um nome de objeto válido.
AçãoX	Opcional. Identifica a ação a ocorrer na direção horizontal.
AçãoY	Opcional. Identifica a ação a ocorrer na direção vertical.
Definições

As definições de AçãoX e AçãoY são:

Constante	Valor	Descrição
fmScrollActionNoChange	0	Não rola na direção especificada.
FmScrollActionLineUp	1	Move para cima em uma barra de rolagem vertical ou para a esquerda em uma barra de rolagem horizontal. O movimento equivale a pressionar a tecla de seta para cima ou para a esquerda no teclado para mover a barra de rolagem.
FmScrollActionLineDown	2	Move para baixo em uma barra de rolagem vertical ou para a direita em uma barra de rolagem horizontal. O movimento equivale a pressionar a tecla de seta para a direita ou para baixo no teclado para mover a barra de rolagem.
FmScrollActionPageUp	3	Move uma página para cima em uma barra de rolagem vertical ou uma página para a esquerda em uma barra de rolagem horizontal. O movimento equivale a pressionar PAGE UP no teclado para mover a barra de rolagem.
FmScrollActionPageDown	4	Move uma página para baixo em uma barra de rolagem vertical ou uma página para a direita em uma barra de rolagem horizontal. O movimento equivale a pressionar PAGE DOWN no teclado para mover a barra de rolagem.
FmScrollActionBegin	5	Move para o topo de uma barra de rolagem vertical ou para a extremidade esquerda de uma barra de rolagem horizontal.
FmScrollActionEnd	6	Move para a base de uma barra de rolagem vertical ou para a extremidade direita de uma barra de rolagem horizontal.
Comentários

O método Scroll se aplica a barras de rolagem que aparecem em um formulário, Frame ou Page que seja maior que sua área de exibição. Esse método não se aplica a ScrollBar autônomo ou a barras de rolagem que apareçam em um TextBox.


Método SetDefaultTabOrder

Define a propriedade TabIndex de cada controle em um formulário utilizando a ordem de tabulação padrão de-cima-para-baixo e da-esquerda-para-a-direita

Sintaxe

objeto.SetDefaultTabOrder

A sintaxe do método SetDefaultTabOrder possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Comentários

O Microsoft Forms define a ordem de tabulação começando com os controles no canto superior esquerdo do formulário e movendo para a direita. Ele posiciona os controles o mais próximo da borda esquerda do formulário anterior na ordem de tabulação. Se mais de um controle tiver a mesma distância da borda esquerda do formulário, os valores da ordem de tabulação serão atribuídos de cima para baixo.


Método SetFocus

Move o foco para essa instância de um objeto.

Sintaxe

objeto.SetFocus

A sintaxe do método SetFocus possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Comentários

Se a definição do foco falhar, o foco reverterá ao objeto anterior e um erro será gerado.

Por padrão, definir o foco para um controle não ativa a janela do controle tampouco o coloca no topo dos demais controles.

O método SetFocus é válido para um Frame vazio assim como para um Frame contendo outros controles. Um Frame vazio terá o foco e qualquer evento de teclado subseqüente se aplicará ao Frame. Em um Frame contendo outros controles, o foco se move para o primeiro controle do Frame e os eventos de teclado subseqüentes se aplicam ao controle que tem o foco.


Método SetText

Copia uma seqüência de texto no DataObject utilizando um formato especificado.

Sintaxe

objeto.SetText(  ArmazenarDados [,  formato])

A sintaxe do método SetText possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
ArmazenarDados	Obrigatória. Define os dados a serem armazenados em DataObject.
Formato	Opcional. Um inteiro ou seqüência especificando o formato de ArmazenarDados. Ao recuperar dados do DataObject, o formato identifica os dados a serem recuperados.
Definições

As definições para formato são:

Valor	Descrição
1	Formato de texto.
Uma seqüência ou valor inteiro diferente de 1	Um formato DataObject definido pelo usuário.
Comentários

O DataObject armazena dados de acordo com seu formato. Quando o usuário fornece uma seqüência, o DataObject salva o texto sob o formato especificado.

Se o DataObject contiver dados do mesmo formato que os novos dados, os novos dados substituirão os dados existentes no DataObject. Se os novos dados estiverem em um novo formato, tanto os novos dados como o novo formato serão adicionados ao DataObject, e os dados existentes anteriormente também se encontrarão ali.

Se nenhum formato for especificado, o método SetText atribuirá o formato Text à seqüência de texto. Se for especificado um novo formato, o DataObject o registrará com o sistema.


Método StartDrag

Inicia a operação arrastar-e-soltar para um DataObject.

Sintaxe

fmDropEffect=Objeto.StartDrag([Efeito como fmDropEffect])

A sintaxe do método StartDrag possui as partes a seguir:

Parte	Descrição
Objeto	Obrigatória. Um objeto válido.
Efeito	Opcional. Efeito da operação soltar sobre o controle de destino.
Definições

As definições para Efeito são:

Constante	Valor	Descrição
fmDropEffectNone	0	Não copia nem move a origem de soltura até o destino de soltura.
FmDropEffectCopy	1	Copia a origem de soltura no destino de soltura.
FmDropEffectMove	2	Move a origem de soltura até o destino de soltura.
FmDropEffectCopyOrMove	3	Copia ou move a origem de soltura até o destino de soltura.
Comentários

A ação de arraste inicia na atual posição do ponteiro do mouse com o atual estado do teclado e termina quando o usuário solta o mouse. O efeito da operação arrastar-e-soltar depende do efeito escolhido para o destino de soltura.

Por exemplo, o evento MouseMove de um controle pode incluir o método StartDrag. Quando o usuário clica no controle e move o mouse, o ponteiro do mouse muda para indicar se Efeito é válido para o destino de soltura.


Método UndoAction

Reverte a ação mais recente que suporta o comando Desfazer.

Sintaxe

Booleano = objeto.UndoAction

A sintaxe do método UndoAction possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Comentários

O comando Desfazer na interface do usuário utiliza o método UndoAction. Por exemplo, se você colar um texto em um TextBox, poderá utilizar UndoAction para remover esse texto e restaurar o conteúdo anterior do TextBox.

Nem todas as ações do usuário podem ser desfeitas. Se uma ação não puder ser desfeita, o comando Desfazer não ficará disponível após a ação.

Observação  Se a propriedade CanUndo for False, o comando Desfazer não estará disponível na interface do usuário e UndoAction não será válido no código.

Se UndoAction for aplicado a um formulário, todas as alterações ao registro atual serão perdidas. Se UndoAction for aplicado a um controle, somente o próprio controle será afetado.

Você deve aplicar esse método antes que o formulário ou controle seja atualizado. Convém incluir esse método no evento BeforeUpdate de um formulário ou no evento Change de um controle.

UndoAction é uma alternativa à utilização da Instrução SendKeyspara enviar o valor de ESC em um procedimento de evento.


Método ZOrder

Coloca o objeto na frente ou atrás da ordem-z.

Sintaxe

objeto.ZOrder( [ Posiçãoz])

A sintaxe do método ZOrder possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Posiçãoz	Opcional. A posição de um controle, na frente ou atrás, na ordem-z do recipiente.
Definições

As definições para Posiçãoz são:

Constante	Valor	Descrição
fmTop	0	Coloca o controle na frente da ordem-z. O controle aparece no topo dos outros controles (padrão).
fmBottom	1	Coloca o controle atrás da ordem-z. O controle aparece abaixo dos outros controles.
Comentários

A ordem-z determina como as janelas e os controles são empilhados quando apresentados ao usuário. Os itens da ordem-z que estão atrás são sobrepostos por itens mais próximos; os itens da ordem-z que estão na frente parecem estar no topo dos itens que estão atrás. Quando o argumento Posiçãoz é omitido, o objeto é trazido à frente.

Em modo de criação, os comandos Trazer para Frente ou Enviar para Trás definem a ordem-z. Trazer para Frente equivale a utilizar o método ZOrder e colocar o objeto na frente da ordem-z. Enviar para Trás equivale a utilizar ZOrder e colocar o objeto atrás da ordem-z.

Esse método não afeta o conteúdo nem a seqüência dos controles na coleção Controls.

Observação   Você não pode Desfazer ou Refazer comandos em camadas, como Send to Back ou Bring to Front. Por exemplo, se você selecionar um objeto e clicar em Move Backward no menu de atalho, não conseguirá Desfazer ou Refazer essa ação.


Propriedade Accelerator

Define ou recupera a tecla aceleradora para um controle.

Sintaxe

objeto.Accelerator [= Seqüência]

A sintaxe da propriedade Accelerator possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Seqüência	Opcional. O caractere a ser utilizado como tecla aceleradora.
Comentários

Para designar uma tecla aceleradora, digite um único caractere para a propriedade Accelerator. Você pode definir Accelerator na folha de propriedades do controle ou no código. Se o valor dessa propriedade contiver mais de um caractere, o primeiro caractere da seqüência se tornará o valor de Accelerator.

Quando uma tecla aceleradora é utilizada, não há retorno visual de informações (a não ser o foco) para indicar que o controle iniciou o evento Click. Por exemplo, se a tecla aceleradora se aplica a um CommandButton, o usuário não verá o botão pressionado na interface. O botão, no entanto, receberá o foco quando o usuário pressionar a tecla aceleradora.

Se a tecla aceleradora se aplica a um Label, o controle após o Label na ordem de tabulação, e não o próprio Label, recebe o foco.


Propriedade ActiveControl

Identifica e permite manipulação do controle que possui o foco.

Sintaxe

objeto.ActiveControl

A sintaxe da propriedade ActiveControl possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Comentários

A propriedade ActiveControl é somente leitura, sendo definida quando você seleciona um controle na interface. É possível utilizar ActiveControl como um substituto para o nome do controle ao definir as propriedades ou os métodos de chamada.


Propriedade Alignment

Especifica a posição de um controle em relação a sua legenda.

Sintaxe

objeto.Alignment [= fmAlignment]

A sintaxe da propriedade Alignment possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
fmAlignment	Opcional. Posição da legenda.
Definições

As definições para fmAlignment são:

Constante	Valor	Descrição
fmAlignmentLeft	0	Coloca a legenda à esquerda do controle.
FmAlignmentRight	1	Coloca a legenda à direita do controle (padrão).
Comentários

O texto da legenda para um controle é alinhado à esquerda.

Observação   Embora a propriedade Alignment exista no ToggleButton, ela está desativada. Você não pode definir ou retornar um valor para essa propriedade no ToggleButton.


Propriedade AutoSize

Especifica se um objeto é automaticamente redimensionado para exibir todo o seu conteúdo.

Sintaxe

objeto.AutoSize [= Booleano]

A sintaxe da propriedade AutoSize possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Booleano	Opcional. Se o controle é redimensionado.
Definições

As definições para Booleano são:

Valor	Descrição
True	Redimensiona automaticamente o controle para exibir todo o seu conteúdo.
False	Mantém constante o tamanho do controle. O conteúdo é recortado quando excede a área do controle (padrão).
Comentários

Para controles com legendas, a propriedade AutoSize especifica se o controle se ajusta automaticamente para exibir a legenda inteira.

Para controles sem legendas, essa propriedade especifica se o controle se ajusta automaticamente para exibir as informações armazenadas no controle. Em um ComboBox, por exemplo, definir AutoSize como True define automaticamente a largura da área de exibição para corresponder ao tamanho do texto atual.

Para uma caixa de texto de linha única, definir AutoSize como True define automaticamente a largura da área de exibição como o tamanho do texto na caixa de texto.

Para uma caixa de texto de várias linhas que não contém texto, definir AutoSize como True exibe automaticamente o texto na forma de uma coluna. A largura da coluna de texto é definida para acomodar a letra mais larga daquele tamanho de fonte. A altura da coluna de texto é definida para exibir o texto inteiro do TextBox.

Para uma caixa de texto de várias linhas contendo texto, definir AutoSize como True automaticamente aumenta o TextBox verticalmente para exibir o texto todo. A largura do TextBox não é alterada.

Observação   Se você alterar manualmente o tamanho de um controle enquanto AutoSize for True, a alteração manual substituirá o tamanho definido anteriormente por AutoSize.


Propriedade AutoTab

Especifica se ocorre tabulação automática quando um usuário digita o número máximo de caracteres permitido em um TextBox ou na parte da caixa de texto de um ComboBox.

Sintaxe

objeto.AutoTab [= Booleano]

A sintaxe da propriedade AutoTab possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Booleano	Opcional. Especifica se ocorre uma tabulação automática.
Definições

As definições para Booleano são:

Valor	Descrição
True	Ocorre tabulação.
False	Não ocorre tabulação (padrão).
Comentários

A propriedade MaxLength especifica o número máximo de caracteres permitido em um TextBox ou na parte de caixa de texto de um ComboBox.

Você pode especificar a propriedade AutoTab para um TextBox ou ComboBox em um formulário para o qual você habitualmente insere um número definido de caracteres. Uma vez que um usuário digita o número máximo de caracteres, o foco se moverá automaticamente para o próximo controle na ordem de tabulação. Por exemplo, se uma TextBox exibe números de estoque de inventário que têm sempre cinco caracteres de comprimento, você pode utilizar MaxLength para especificar o número máximo de caracteres a ser inserido no TextBox e AutoTab para tabular automaticamente no próximo controle depois que o usuário digitar cinco caracteres.

O suporte para AutoTab varia de um aplicativo para outro. Nem todos os recipientes suportam essa propriedade.


Propriedade AutoWordSelect

Especifica se uma palavra ou caractere é a unidade básica utilizada para estender uma seleção.

Sintaxe

objeto.AutoWordSelect [= Booleano]

A sintaxe da propriedade AutoWordSelect possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Booleano	Opcional. Especifica a unidade básica utilizada para estender uma seleção.
Definições

As definições para Booleano são:

Valor	Descrição
True	Utiliza uma palavra como a unidade básica (padrão).
False	Utiliza um caractere como a unidade básica.
Comentários

A propriedade AutoWordSelect especifica como a seleção é estendida ou contraída na região de edição de um TextBox ou ComboBox.

Se o usuário colocar o ponto de inserção no meio de uma palavra e, em seguida, estender a seleção enquanto AutoWordSelect for True, a seleção incluirá a palavra inteira.


Propriedade BackColor

Especifica a cor de fundo do objeto.

Sintaxe

objeto.BackColor [= Longo]

A sintaxe da propriedade BackColor possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Longo	Opcional. Um valor ou uma constante que determina a cor de fundo de um objeto.
Definições

Você pode utilizar qualquer inteiro que represente uma cor válida. Também pode especificar uma cor utilizando a função RGB com componentes de cor vermelho, verde e azul. O valor de cada componente de cor é um inteiro que varia de zero a 255. Por exemplo, você pode especificar azul turquesa como o valor inteiro 4966415 ou os componentes vermelho, verde e azul como 15, 200, 75.

Comentários

Você verá somente a cor de fundo de um objeto se a propriedade BackStyle estiver definida como fmBackStyleOpaque.


Propriedade BackStyle

Retorna ou define o estilo de segundo plano para um objeto.

Sintaxe

objeto.BackStyle [= fmBackStyle]

A sintaxe da propriedade BackStyle possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
fmBackStyle	Opcional. Especifica o segundo plano do controle.
Definições

As definições para fmBackStyle são:

Constante	Valor	Descrição
fmBackStyleTransparent	0	O segundo plano é transparente.
fmBackStyleOpaque	1	O segundo plano é opaco (padrão).
Comentários

A propriedade BackStyle determina se o controle é transparente. Se BackStyle for fmBackStyleOpaque, o controle não é transparente e você não poderá ver nada atrás do controle em um formulário. Se BackStyle for fmBackStyleTransparent, você poderá ver através do controle e olhar para qualquer coisa no formulário localizado atrás do controle.

Observação  BackStyle não afeta a transparência de bitmaps. Você deve utilizar um editor de imagens, como o Paintbrush, para tornar um bitmap transparente. Nem todos os controles suportam bitmaps transparentes.


Propriedades Bold, Italic, Size, StrikeThrough, Underline e Weight

Especificam os atributos visuais do texto em um formulário exibido ou impresso.

Sintaxe

objeto.Bold [= Booleano]

objeto.Italic [= Booleano]

objeto.Size [= Currency]

objeto.StrikeThrough [= Booleano]

objeto.Underline [= Booleano]

objeto.Weight [= Inteiro]

As sintaxes das propriedades Bold, Italic, Size, StrikeThrough, Underline e Weight possuem as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um nome de objeto válido.
Booleano	Opcional. Especifica o estilo da fonte.
Moeda	Opcional. Um número que indica o tamanho da fonte.
Inteiro	Opcional. Especifica o estilo da fonte.
As definições para Booleano são:

Valor	Descrição
True	O texto tem o atributo especificado (ou seja, marcas de negrito, itálico, tamanho, tachado ou sublinhado ou peso).
False	O texto não tem o atributo especificado (padrão).
A propriedade Weight aceita valores de 0 a 1000. Um valor zero permite que o sistema escolha o peso mais apropriado. Um valor de 1 a 1000 indica um peso específico, onde 1 representa o tipo mais claro e 1000 o tipo mais escuro.

Comentários

Essas propriedades definem as características visuais do texto. A propriedade Bold determina se o texto é normal ou negrito. A propriedade Italic determina se o texto é normal ou itálico. A propriedade Size determina a altura, em pontos, do texto exibido. A propriedade Underline determina se o texto é sublinhado. A propriedade StrikeThrough determina se o texto aparece com marcas de riscado. A propriedade Weight determina o peso do tipo.

A aparência da fonte na tela e quando impressa podem diferir, dependendo do computador e da impressora. Se você selecionar uma fonte que o sistema não consegue exibir com o atributo especificado ou que não está instalado, o Windows a substituirá por uma fonte semelhante. A fonte substituta será o mais semelhante possível da fonte originalmente solicitada.

Alterar o valor de Bold também altera o valor de Weight. Definir Bold como True define Weight como 700; definir Bold como False define Weight como 400. Reciprocamente, definir Weight como qualquer valor acima de 550 define Bold como True; definir Weight como 550 ou menos define Bold como False.

O tamanho padrão em pontos é determinado pelo sistema operacional.


Propriedade BorderColor

Especifica a cor da borda de um objeto.

Sintaxe

objeto.BorderColor [= Longo]

A sintaxe da propriedade BorderColor possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Longo	Opcional. Um valor ou constante que determina a cor da borda de um objeto.
Definições

Você pode utilizar qualquer inteiro que represente uma cor válida. Você também pode especificar uma cor utilizando a função RGB com componentes de cor vermelho, verde e azul. O valor de cada componente de cor é um inteiro que varia de zero a 255. Por exemplo, você pode especificar o azul turquesa como o valor inteiro 4966415 ou como valores de componentes de cor RGB 15, 200, 75.

Comentários

Para utilizar a propriedade BorderColor, a propriedade BorderStyle deve ser definida como um valor diferente de fmBorderStyleNone.

BorderStyle utiliza BorderColor para definir cores da borda. A propriedade SpecialEffects utiliza cores do sistema exclusivamente para definir as cores de sua borda. Para sistemas operacionais do Windows, as definições de cores do sistema fazem parte do Painel de controle e são encontradas na guia Aparência da pasta Exibir. No Windows NT 3.51, as definições de cores do sistema são armazenadas na pasta Cor do Painel de controle.


Propriedade BorderStyle

Especifica o tipo de borda utilizado por um controle ou um formulário

Sintaxe

objeto.BorderStyle [= fmBorderStyle]

A sintaxe da propriedade BorderStyle possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
fmBorderStyle	Opcional. Especifica o estilo da borda.
Definições

As definições para fmBorderStyle são:

Constante	Valor	Descrição
fmBorderStyleNone	0	O controle não tem linha de borda visível.
FmBorderStyleSingle	1	O controle tem uma borda de linha única (padrão).
O valor padrão para um ComboBox, Frame, Label, ListBox ou TextBox é 0 (Nenhum). O valor padrão para um Image é 1 (Único).

Comentários

Para um Frame, a propriedade BorderStyle é ignorada se a propriedade SpecialEffect for Nenhum.

Você pode especificar tanto BorderStyle como SpecialEffect para especificar a borda para um controle, mas não ambas. Se você especificar um valor diferente de zero para uma dessas propriedades, o sistema definirá o valor da outra propriedade como zero. Por exemplo, se você definir BorderStyle como fmBorderStyleSingle, o sistema definirá SpecialEffect como zero (Plano). Se você especificar um valor diferente de zero para SpecialEffect, o sistema definirá BorderStyle como zero.

BorderStyle utiliza BorderColor para definir as cores de suas bordas.


Propriedade BoundColumn

Identifica a fonte dos dados em um ComboBox ou ListBox de várias colunas.

Sintaxe

objeto.BoundColumn [= Variante]

A sintaxe da propriedade BoundColumn possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Variante	Opcional. Indica como o valor BoundColumn está selecionado.
Definições

As definições para Variante são:

Valor	Descrição
0	Atribui o valor da propriedade ListIndex ao controle.
1 ou maior	Atribui o valor da coluna especificada ao controle. As colunas são numeradas a partir de 1 ao utilizar essa propriedade (padrão).
Comentários

Quando o usuário escolhe uma linha em um ListBox ou ComboBox de várias colunas, a propriedade BoundColumn identifica qual item daquela linha armazenar como o valor do controle. Por exemplo, se cada linha contiver 8 itens e BoundColumn for 3, o sistema armazenará as informações na terceira coluna da linha atualmente selecionada como o valor do objeto.

É possível exibir um conjunto de dados para os usuários, mas armazenar diferentes valores associados para o objeto utilizando as propriedades BoundColumn e TextColumn. TextColumn identifica a coluna de dados exibida em um ComboBox ou ListBox; BoundColumn identifica a coluna dos valores de dados associados armazenados para o controle. Por exemplo, você poderia configurar um ListBox de várias colunas que contivesse os nomes dos feriados em uma coluna e as datas dos feriados em uma segunda coluna. Para apresentar os nomes de feriados aos usuários, especifique a primeira coluna como TextColumn. Para armazenar as datas dos feriados, especifique a segunda coluna como BoundColumn.

Se o controle for ligado a uma fonte de dados, o valor na coluna especificada por BoundColumn será armazenado na fonte de dados denominada na propriedade ControlSource.

O valor ListIndex recupera o número da linha selecionada. Por exemplo, se você quiser saber qual a linha do item selecionado, defina BoundColumn como 0 para atribuir o número da linha selecionada como o valor do controle. Certifique-se de recuperar um valor atual ao invés de confiar em um valor anteriormente salvo, se estiver fazendo referência a uma lista cujo conteúdo possa sofrer alterações.

As propriedades Column, List e ListIndex utilizam numeração com base em zero, isto é, o valor do primeiro item (coluna ou linha) é zero, o valor da segunda coluna é um, e assim por diante. Isto significa que se BoundColumn for definida como 3, você poderá acessar o valor armazenado naquela coluna utilizando a expressão Column(2).


Propriedade BoundValue

Contém o valor de um controle quando esse controle recebe o foco.

Sintaxe

objeto.BoundValue [= Variante]

A sintaxe da propriedade BoundValue possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Variante	Opcional. O estado ou conteúdo atual do controle.
Definições

Controle	Descrição
CheckBox	Um valor inteiro que indica se o item está selecionado.
	Nulo   Indica que o item está em estado nulo, nem selecionado nem desmarcado.
	–1   Verdadeiro. Indica que o item está selecionado.
	0   Falso. Indica que o item está desmarcado.
OptionButton	Igual a CheckBox.
ToggleButton	Igual a CheckBox.
ScrollBar	Um inteiro entre os valores especificados para as propriedades Max e Min.
SpinButton	Igual a ScrollBar.
ComboBox, ListBox	O valor de BoundColumn das linhas atualmente selecionadas.
CommandButton	Sempre False.
MultiPage	Um inteiro indicando a página atualmente ativa.
	Zero (0) indica a primeira página. O valor máximo é um número uma unidade menor que o número de páginas.
TextBox	O texto na região de edição.
Comentários

BoundValue se aplica ao controle que tem o foco.

O conteúdo das propriedades BoundValue e Value é idêntico na maioria das vezes. Quando o usuário edita um controle de modo que seu valor é alterado, o conteúdo de BoundValue e Value fica diferente até que a alteração seja finalizada.

Ocorrem fatos diversos quando o usuário altera o valor de um controle. Por exemplo, se um usuário alterar o texto de um TextBox, ocorrerá o seguinte:

1.	O evento Change será iniciado. Nesse momento, a propriedade Value conterá o novo texto e BoundValue conterá o anterior.

2.	O evento BeforeUpdate será iniciado.

3.	O evento AfterUpdate será iniciado. Os valores de BoundValue e Value serão novamente idênticos, contendo o novo texto.

BoundValue não pode ser utilizado com uma caixa de listagem de várias seleções.


Propriedade Cancel

Retorna ou define um valor que indica se um botão de comando é o botão Cancelar de um formulário.

Sintaxe

objeto.Cancel [= Booleano]

A sintaxe da propriedade Cancel possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Booleano	Opcional. Se o objeto for o botão Cancelar.
Definições

As definições para Booleano são:

Valor	Descrição
True	O CommandButton é o botão Cancelar.
False	O CommandButton não é o botão Cancelar (padrão).
Comentários

Um CommandButton ou um objeto que atua como um botão de comando pode ser designado como o botão de comando padrão. Para controles do recipiente OLE, a propriedade Cancel é fornecida somente para aqueles objetos que se comportam especificamente como botões de comando.

Somente um CommandButton em um formulário pode ser o botão Cancelar. Definir Cancel como True para um botão de comando define-o automaticamente como False para todos os outros objetos no formulário. Quando uma propriedade Cancel do CommandButton é definida como True e o formulário é o formulário ativo, o usuário pode escolher o botão de comando clicando nele, pressionando ESC ou pressionando ENTER quando o botão tem o foco.

Um uso típico de Cancel é dar ao usuário a opção de cancelar alterações não efetivadas e retornar o formulário ao seu estado anterior.

Você deve considerar a possibilidade de fazer do botão Cancelar o botão padrão para formulários que suportam operações que não podem ser desfeitas (tal como exclusão). Para isso, defina tanto a propriedade Cancel quanto Default como True.


Propriedade CanPaste

Especifica se a Área de transferência contém dados que o objeto suporta.

Sintaxe

objeto.CanPaste

A sintaxe da propriedade CanPaste possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Valores de retorno

Os valores de retorno da propriedade CanPaste são:

Valor	Descrição
True	O objeto sob o ponteiro do mouse pode receber informações coladas da Área de transferência (padrão).
False	O objeto sob o ponteiro do mouse não pode receber informações coladas da Área de transferência.
Comentários

CanPaste é somente leitura.

Se os dados da Área de transferência estiverem em um formato que o atual objeto destino não suporta, a propriedade CanPaste será False. Por exemplo, se você tentar colar um bitmap em um objeto que suporta somente texto, CanPaste será False.


Propriedade CanRedo

Indica se o Desfazer mais recente pode ser revertido.

Sintaxe

objeto.CanRedo

A sintaxe da propriedade CanRedo possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Valores de retorno

Os valores de retorno da propriedade CanRedo são:

Valor	Descrição
True	O Desfazer mais recente pode ser revertido.
False	O Desfazer mais recente é irreversível.
Comentários

CanRedo é somente leitura.

Refazer uma ação significa reverter um Desfazer, e não necessariamente repetir a última ação do usuário.

As ações a seguir do usuário ilustram a utilização de Desfazer e Refazer:

1.	Alterar a definição de um botão de opção.

2.	Inserir texto em uma caixa de texto.

3.	Clicar em Desfazer. O texto desaparece da caixa de texto.

4.	Clicar em Desfazer. O botão de opção reverte para sua definição anterior.

5.	Clicar em Refazer. O valor do botão de opção é alterado.

6.	Clicar em Refazer. O texto reaparece na caixa de texto.


Propriedade CanUndo

Indica se a última ação do usuário pode ser desfeita.

Sintaxe

objeto.CanUndo

A sintaxe da propriedade CanUndo possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Valores de retorno

Os valores de retorno da propriedade CanUndo são:

Valor	Descrição
True	A ação mais recente do usuário pode ser desfeita.
False	A ação mais recente do usuário não pode ser desfeita.
Comentários

CanUndo é somente leitura.

Muitas ações do usuário podem ser desfeitas com o comando Desfazer. A propriedade CanUndo indica se a ação mais recente pode ser desfeita.


Propriedade Caption

Texto descritivo que aparece em um objeto para identificá-lo ou descrevê-lo.

Sintaxe

objeto.Caption [= Seqüência]

A sintaxe da propriedade Caption possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Seqüência	Opcional. Uma expressão de seqüência que considera o texto exibido como a legenda.
Definições

A definição padrão para um controle é um nome exclusivo baseado no tipo de controle. Por exemplo, CommandButton1 é a legenda padrão para o primeiro botão de comando de um formulário.

Comentários

O texto identifica ou descreve o objeto ao qual está associado. Para botões e rótulos, a propriedade Caption especifica o texto que aparece no controle. Para objetos Page e Tab, especifica o texto que aparece na guia.

Se a legenda de um controle for muito extensa, ela será truncada. Se a legenda de um formulário for muito extensa para a barra de título, o título será exibido com reticências.

A propriedade ForeColor do controle determina a cor do texto da legenda.

Dica  Se um controle tiver tanto a propriedade Caption quanto a propriedade AutoSize, definir AutoSize como True ajustará automaticamente o tamanho do controle para acomodar a legenda inteira.


Propriedades ClientHeight, ClientLeft, ClientTop e ClientWidth

Definem as dimensões e a localização da área de exibição de um TabStrip.

Sintaxe

objeto.ClientHeight [ =Único]

objeto.ClientLeft [ =Único]

objeto.ClientTop [ =Único]

objeto.ClientWidth [ =Único]

As sintaxes das propriedades ClientHeight, ClientLeft, ClientTop e ClientWidth possuem as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Único	Opcional. Para ClientHeight e ClientWidth, especifica a altura ou largura, em pontos, da área de exibição. Para ClientLeft e ClientTop, especifica a distância, em pontos, da borda superior ou esquerda do recipiente do TabStrip.
Comentários

Em tempo de execução, ClientLeft, ClientTop, ClientHeight e ClientWidth armazenam automaticamente as coordenadas e dimensões da área interna do TabStrip, que é compartilhada pelos objetos no TabStrip.


Propriedade Column

Especifica um ou mais itens em um ListBox ou ComboBox.

Sintaxe

objeto.Column( coluna, linha ) [= Variante]

A sintaxe da propriedade Column possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
coluna	Opcional. Um inteiro no intervalo de 0 até um número uma unidade menor que o número total de colunas.
linha	Opcional. Um inteiro no intervalo de 0 até um número uma unidade menor que o número total de linhas.
Variante	Opcional. Especifica um valor único, uma coluna de valores ou uma matriz bidimensional para carregar em um ListBox ou ComboBox.
Definições

Se você especificar tanto os valores da coluna como os valores da linha, Column lerá ou gravará um item específico.

Se especificar somente o valor da coluna, a propriedade Column lerá ou gravará a coluna especificada na linha atual do objeto. Por exemplo, MyListBox.Column (3) lê ou grava a terceira coluna em MyListBox.

Column retorna uma Variante do cursor. Quando um cursor interno fornece o valor para Variante (como ao utilizar o método AddItem), o valor é uma seqüência. Quando o cursor externo fornece o valor para Variante, a formatação associada aos dados não é incluída em Variante.

Comentários

Você pode utilizar Column para atribuir o conteúdo de uma caixa de combinação ou de uma caixa de listagem a um outro controle, tal como uma caixa de texto. Por exemplo, é possível definir a propriedade ControlSource de uma caixa de texto como o valor que está na segunda coluna de uma caixa de listagem.

Se o usuário não fizer nenhuma seleção quando você fizer referência a uma coluna de uma caixa de combinação ou de uma caixa de listagem, a definição de Column será Null. Você pode verificar essa condição utilizando a função IsNull.

Você também pode utilizar Column para copiar uma matriz bidimensional inteira de valores em um controle. Essa sintaxe permite que você carregue rapidamente uma lista de alternativas ao invés de carregar individualmente cada elemento da lista utilizando AddItem.

Observação  Ao copiar dados de uma matriz bidimensional, Column transpõe o conteúdo da matriz no controle de forma que o conteúdo de ListBox1.Column(X, Y) seja igual ao de MyArray(Y, X). Você também pode utilizar List para copiar uma matriz sem transpô-la.


Propriedade ColumnCount

Especifica o número de colunas a exibir em uma caixa de listagem ou caixa de combinação.

Sintaxe

objeto.ColumnCount [= Longo]

A sintaxe da propriedade ColumnCount possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Longo	Opcional. Especifica o número de colunas a exibir.
Comentários

Se você definir a propriedade ColumnCount de uma caixa de listagem como 3 em um formulário de funcionários, uma das colunas poderá listar os sobrenomes, outra poderá listar os nomes e a terceira poderá listar os números de identificação dos funcionários.

Definir ColumnCount como 0 não exibirá coluna alguma e defini-la como -1 exibirá todas as colunas disponíveis. Para uma fonte de dados desacoplada, há um limite de 10 colunas (0 a 9).

É possível utilizar a propriedade ColumnWidths para definir a largura das colunas exibidas no controle.


Propriedade ColumnHeads

Exibe uma única linha de cabeçalhos de coluna para caixas de listagem, caixas de combinação e objetos que aceitam cabeçalhos de coluna.

Sintaxe

objeto.ColumnHeads [= Booleano]

A sintaxe da propriedade ColumnHeads possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Booleano	Opcional. Especifica se os cabeçalhos de coluna são exibidos.
Definições

As definições para Booleano são:

Valor	Descrição
True	Exibe cabeçalhos de coluna.
False	Não exibe cabeçalhos de coluna (padrão).
Os cabeçalhos nas caixas de combinação aparecem somente quando a lista fica suspensa.

Comentários

Quando o sistema utiliza a primeira linha de itens de dados como cabeçalhos de coluna, eles não podem ser selecionados.


Propriedade ColumnWidths

Especifica a largura de cada coluna de uma caixa de combinação ou caixa de listagem de várias colunas.

Sintaxe

objeto.ColumnWidths [= Seqüência]

A sintaxe da propriedade ColumnWidths possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Seqüência	Opcional. Define a largura da coluna em pontos. Uma definição de -1 ou em branco resulta em uma largura calculada. Uma largura 0 oculta uma coluna. Para especificar uma unidade de medida diferente, inclua a unidade de medida. Um valor maior que 0 especifica explicitamente a largura da coluna.
Definições

Para separar entradas de colunas, utilize pontos-e-vírgulas (;) como separadores de lista. Ou utilize o separador de listas especificado na seção Configurações regionais do Painel de controle do Windows.

Qualquer uma ou todas definições da propriedade ColumnWidths podem ficar em branco. Uma definição em branco pode ser criada digitando um separador de listas sem um valor precedente.

Se você especificar -1 na página de propriedades, o valor exibido na página de propriedades ficará em branco.

Para calcular larguras de coluna quando ColumnsWidths estiver em branco ou for -1, a largura do controle será dividida igualmente entre todas as colunas da lista. Se a soma das larguras de coluna especificadas exceder a largura do controle, a lista será alinhada à esquerda dentro do controle e uma ou mais das colunas situadas à extrema direita não serão exibidas. Os usuários podem rolar a lista utilizando a barra de rolagem horizontal para exibir as colunas da extrema direita.

A largura mínima de coluna calculada é de 72 pontos (1 polegada). Para produzir colunas mais estreitas do que isso, você deve especificar a largura explicitamente.

A menos que expressamente especificado, as larguras de coluna são medidas em pontos. Para especificar uma outra unidade de medida, inclua a unidade como parte dos valores. Os exemplos a seguir especificam larguras de coluna em várias unidades de medida e descrevem como as várias definições se ajustariam em uma caixa de listagem de três colunas que possui 4 polegadas de largura.

Definição	Efeito
90;72;90	A primeira coluna tem 90 pontos (1,25 polegada), a segunda coluna tem 72 pontos (1 polegada) e a terceira coluna tem 90 pontos.
6 cm;0;6 cm	A primeira coluna tem 6 centímetros; a segunda coluna está oculta; a terceira coluna tem 6 centímetros. Uma vez que parte da terceira coluna está visível, é exibida uma barra de rolagem horizontal.
1.5 in;0;2.5 in	A primeira coluna tem 1,5 polegadas, a segunda coluna está oculta e a terceira coluna tem 2,5 polegadas.
2 in;;2 in	A primeira coluna tem 2 polegadas, a segunda coluna tem 1 polegada (padrão) e a terceira coluna tem 2 polegadas. Uma vez que somente metade da terceira coluna está visível, é exibida uma barra de rolagem horizontal.
(Em branco)	Todas as três colunas têm a mesma largura (1,33 polegadas).
Comentários

Em uma caixa de combinação, o sistema exibe a coluna designada pela propriedade TextColumn na parte da caixa de texto do controle.


Propriedade ControlSource

Identifica a localização de dados utilizada para definir ou armazenar a propriedade Value de um controle.

Sintaxe

objeto.ControlSource [= Seqüência]

A sintaxe da propriedade ControlSource possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Seqüência	Opcional. Especifica a célula da planilha vinculada à propriedade Value de um controle.
Comentários

A propriedade ControlSource identifica uma célula ou campo; ela não contém os dados armazenados na célula ou campo. Se você alterar a propriedade Value do controle, a alteração será automaticamente refletida na célula ou campo vinculado. Da mesma forma, se você alterar o valor da célula ou campo vinculado, a alteração se refletirá automaticamente na propriedade Value do controle.

Você não pode especificar um outro controle para o ControlSource. Fazer isso gera um erro.

O valor padrão para ControlSource é uma seqüência vazia. Se ControlSource contiver um valor diferente de uma seqüência vazia, ele identificará uma célula ou campo vinculado. O conteúdo dessa célula ou campo será automaticamente copiado na propriedade Value quando o controle for carregado.

Observação  Se a propriedade Value for Null, nenhum valor aparecerá na localização identificada por ControlSource.


Propriedade ControlTipText

Especifica o texto que aparece quando o usuário mantém, durante um momento, o ponteiro do mouse sobre um controle sem clicar.

Sintaxe

objeto.ControlTipText [= Seqüência]

A sintaxe da propriedade ControlTipText possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Seqüência	Opcional. O texto que aparece quando o usuário mantém o ponteiro do mouse sobre um controle.
Comentários

A propriedade ControlTipText permite que você forneça dicas aos usuários sobre um controle em um formulário que está sendo executado. A propriedade pode ser definida durante a fase de projeto mas aparece somente ao lado do controle durante o tempo de execução.

O valor padrão de ControlTipText é uma seqüência vazia. Quando o valor de ControlTipText é definido como uma seqüência vazia, não existe nenhuma dica disponível para esse controle.


Propriedade Count

Retorna o número de objetos em uma coleção.

Sintaxe

objeto.Count

A sintaxe da propriedade Count possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Comentários

A propriedade Count é somente leitura.

Observe que o valor de índice para a primeira página ou guia de uma coleção é zero, o valor para a segunda página ou guia é um, e assim por diante. Por exemplo, se um MultiPage contiver duas páginas, os índices das páginas são 0 e 1 e o valor de Count é 2.


Propriedade CurLine

Especifica a linha atual de um controle.

Sintaxe

objeto.CurLine [= Longo]

A sintaxe da propriedade CurLine possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Longo	Opcional. Especifica a linha atual de um controle.
Comentários

A linha atual de um controle é a linha que contém o ponto de inserção. O número da primeira linha é zero.

A propriedade CurLine é válida quando o controle tem o foco.


Propriedade CurTargetX

Recupera a posição horizontal preferencial do ponto de inserção em um TextBox ou ComboBox de várias linhas.

Sintaxe

objeto.CurTargetX]

A sintaxe da propriedade CurTargetX possui a parte a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Valores de retorno

A propriedade CurTargetX recupera a posição preferencial, medida em décimos de milímetros. Um décimo de milímetro equivale a 0,0001 metro.

Comentários

A posição de destino é relativa à borda esquerda do controle. Se a extensão de uma linha for menor que o valor da propriedade CurTargetX, você poderá colocar o ponto de inserção na extremidade da linha. O valor de CurTargetX é alterado quando o usuário define o ponto de inserção ou quando a propriedade CurX é definida. CurTargetX é somente leitura.

O valor de retorno é válido quando o objeto tem o foco.

Você pode utilizar CurTargetX e CurX para mover o ponto de inserção à medida que o usuário rola o conteúdo de um TextBox ou ComboBox de várias linhas. Quando o usuário move o ponto de inserção até uma outra linha do texto pela rolagem do conteúdo do objeto, CurTargetX especifica a posição preferencial para o ponto de inserção. CurX é definida como esse valor se a linha de texto for mais extensa que o valor de CurTargetX. Caso contrário, CurX é definida como o fim da linha de texto.


Propriedade CurX

Especifica a atual posição horizontal do ponto de inserção de um TextBox ou ComboBox de várias linhas.

Sintaxe

objeto.CurX [= Longo]

A sintaxe da propriedade CurX possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Longo	Opcional. Indica a posição atual, medida em décimos de milímetros. Um décimo de milímetro equivale a 0,0001 metro.
Comentários

A propriedade CurX aplica-se a um TextBox ou ComboBox de várias linhas. O valor de retorno é válido quando o objeto tem o foco.

Você pode utilizar CurTargetX e CurX para posicionar o ponto de inserção à medida que o usuário rola o conteúdo de um TextBox ou ComboBox de várias linhas. Quando o usuário move o ponto de inserção até uma outra linha do texto pela rolagem do conteúdo do objeto, CurTargetX especifica a posição preferencial para o ponto de inserção. CurX é definida como esse valor se a linha de texto for mais extensa que o valor de CurTargetX. Caso contrário, CurX é definida como o final da linha de texto.


Propriedade Cycle

Especifica a ação a seguir quando o usuário deixa o último controle em um Frame ou Page.

Sintaxe

objeto.Cycle [= fmCycle]

A sintaxe da propriedade Cycle possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
fmCycle	Opcional. Especifica se a o ciclo inclui controles internos em um Frame ou MultiPage.
Definições

As definições para fmCycle são:

Constante	Valor	Descrição
fmCycleAllForms	0	Percorre em ciclos os controles no formulário e dos controles de Frame e MultiPage que estão atualmente exibidos no formulário.
fmCycleCurrentForm	2	Percorre em ciclos os controles no formulário, Frame ou MultiPage. O foco fica dentro do formulário, Frame ou MultiPage até que seja explicitamente definido como um controle fora do formulário, Frame ou MultiPage.
Se você especificar um valor não inteiro para Cycle, o valor será arredondado para o inteiro mais próximo.

Comentários

A ordem de tabulação identifica a ordem na qual os controles recebem o foco à medida que o usuário tabula em um formulário ou subformulário. A propriedade Cycle determina a ação a executar quando um usuário tabula a partir do último controle na ordem de tabulação.

A definição fmCycleAllForms transfere o foco ao primeiro controle do próximo Frame ou MultiPage no formulário quando o usuário tabula a partir do último controle na ordem de tabulação.

A definição fmCycleCurrentForm transfere o foco ao primeiro controle do mesmo formulário, Frame ou MultiPage quando o usuário tabula a partir do último controle na ordem de tabulação.


Propriedade Default

Designa o botão de comando padrão em um formulário.

Sintaxe

objeto.Default [= Booleano]

A sintaxe da propriedade Default possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Booleano	Opcional. Se o botão de comando é o padrão.
Definições

As definições para Booleano são:

Valor	Descrição
True	O CommandButton é o botão padrão.
False	O CommandButton não é o botão padrão (padrão).
Comentários

Um CommandButton ou um objeto que age como um botão de comando pode ser designado como o botão de comando padrão. Somente um objeto em um formulário pode ser o botão de comando padrão. Definir a propriedade Default como True para um objeto define-a automaticamente como False para todos os outros objetos no formulário.

Para escolher o botão de comando padrão em um formulário ativo, o usuário pode clicar em um botão ou pressionar ENTER quando nenhum outro CommandButton tiver o foco. Pressionar ENTER quando nenhum outro CommandButton tem o foco também inicia o evento KeyUp do botão de comando padrão.

Default é fornecido por controles recipientes OLE que agem especificamente como controles CommandButton.

Dica  Você deve considerar a possibilidade de fazer do botão Cancelar o botão padrão para formulários que suportam operações que não podem ser desfeitas (como uma exclusão). Para isto, defina tanto a propriedade Default como a propriedade Cancel como True.


Propriedade Delay

Especifica o intervalo para os eventos SpinUp, SpinDown e Change em um SpinButton ou ScrollBar.

Sintaxe

objeto.Delay [= Longo]

A sintaxe da propriedade Delay possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Longo	Opcional. O intervalo, em milissegundos, entre eventos.
Comentários

A propriedade Delay afeta o intervalo entre eventos SpinUp, SpinDown e Change consecutivos, gerados quando o usuário clica e mantém pressionado um botão em um SpinButton ou ScrollBar. O primeiro evento ocorre imediatamente. O intervalo para a segunda ocorrência do evento é cinco vezes o valor do Delay especificado. Esse retardo inicial facilita a geração de um evento isolado ao invés de um fluxo de eventos.

Após o retardo inicial, o segmento entre eventos é o valor especificado para Delay.

O valor padrão de Delay é 50 milissegundos. Isto significa que o objeto inicia o primeiro evento depois de 250 milissegundos (5 vezes o valor especificado) e inicia cada evento subseqüente depois de 50 milissegundos.


Propriedade DragBehavior

Especifica se o sistema ativa o recurso arrastar-e-soltar para um TextBox ou ComboBox.

Sintaxe

objeto.DragBehavior [= fmDragBehavior]

A sintaxe da propriedade DragBehavior possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
fmDragBehavior	Opcional. Especifica se o recurso arrastar-e-soltar está ativado.
Definições

As definições para fmDragBehavior são:

Constante	Valor	Descrição
fmDragBehaviorDisabled	0	Não permite a ação de arrastar-e-soltar (padrão).
fmDragBehaviorEnabled	1	Permite a ação de arrastar-e-soltar.
Comentários

Se a propriedade DragBehavior estiver ativada, arrastar em uma caixa de texto ou caixa de combinação inicia a operação arrastar-e-soltar no texto selecionado. Se DragBehavior estiver desativada, arrastar em uma caixa de texto ou caixa de combinação seleciona o texto.

A porção suspensa de um ComboBox não suporta processos de arrastar-e-soltar nem suporta a seleção de itens de lista dentro do texto.

DragBehavior não tem efeito sobre um ComboBox cuja propriedade Style esteja definida como fmStyleDropDownList.

Observação  Você pode combinar os efeitos da propriedade EnterFieldBehavior e de DragBehavior para criar um grande número de estilos de caixa de texto.


Propriedade DrawBuffer

Especifica o número de pixels enviados para a memória fora da tela no processamento de uma moldura.

Sintaxe

objeto.DrawBuffer [= valor]

Parte	Descrição
objeto	Obrigatória. Um nome de objeto válido.
valor	Um número inteiro entre 16.000 e 1.048.576 igual ao número máximo de pixels que o objeto pode processar fora da tela.
Comentários

A propriedade DrawBuffer especifica o número máximo de pixels que podem ser desenhados ao mesmo tempo em que a tela é repintada. A memória real utilizada pelo objeto depende da resolução de tela do vídeo. Se você definir um valor grande para DrawBuffer, o desempenho será mais lento. Um buffer grande somente ajuda quando várias imagens grandes se sobrepõem.

Utilize a janela Properties para especificar o valor de DrawBuffer.


Propriedade DropButtonStyle

Especifica o símbolo exibido no botão suspenso de um ComboBox.

Sintaxe

objeto.DropButtonStyle [= fmDropButtonStyle]

A sintaxe da propriedade DropButtonStyle possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
fmDropButtonStyle	Opcional. A aparência de um botão suspenso.
Definições

As definições para fmDropButtonStyle são:

Constante	Valor	Descrição
fmDropButtonStylePlain	0	Exibe um botão simples, sem símbolo.
fmDropButtonStyleArrow	1	Exibe uma seta para baixo (padrão).
fmDropButtonStyleEllipsis	2	Exibe reticências ().
fmDropButtonStyleReduce	3	Exibe uma linha horizontal, como um caractere de sublinhado.
Comentários

A definição recomendada para apresentar itens em uma lista é fmDropButtonStyleArrow. Se desejar utilizar o botão suspenso de uma outra maneira, como para exibir uma caixa de diálogo, especifique fmDropButtonStyleEllipsis, fmDropButtonStylePlain ou fmDropButtonStyleReduce e intercepte o evento DropButtonClick.


Propriedade Enabled

Especifica se um controle pode receber o foco e responder aos eventos gerados pelo usuário.

Sintaxe

objeto.Enabled [= Booleano]

A sintaxe da propriedade Enabled possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Booleano	Opcional. Se o objeto pode responder a eventos gerados pelo usuário.
Definições

As definições para Booleano são:

Valor	Descrição
True	O controle pode receber o foco e responder aos eventos gerados pelo usuário e é acessível por meio de código (padrão).
False	O usuário não pode interagir com o controle utilizando o mouse, pressionamentos de tecla, teclas aceleradoras ou teclas de ativação. Geralmente, o controle ainda é acessível por meio de código.
Comentários

Utilize a propriedade Enabled para ativar e desativar controles. Um controle desativado aparece esmaecido, enquanto um controle ativado não. Além disso, se um controle exibir um bitmap, o bitmap ficará esmaecido sempre que o controle estiver esmaecido. Se Enabled for False para um Image, o controle não iniciará eventos, mas também não aparecerá esmaecido.

As propriedades Enabled e Locked trabalham juntas para obter os efeitos a seguir:

•	Se tanto Enabled quanto Locked forem True, o controle poderá receber o foco e aparecerá normalmente (não-esmaecido) no formulário. O usuário pode copiar, mas não editar, dados no controle.

•	Se Enabled for True e Locked for False, o controle poderá receber o foco e aparecerá normalmente no formulário. O usuário pode copiar e editar dados no controle.

•	Se Enabled for False e Locked for True, o controle não poderá receber o foco e estará esmaecido no formulário. O usuário não pode copiar nem editar dados no controle.

•	Se Enabled e Locked forem ambos False, o controle não poderá receber o foco e estará esmaecido no formulário. O usuário não pode copiar nem editar dados no controle.

Você pode combinar as definições das propriedades Enabled e TabStop para impedir que o usuário selecione um botão de comando com o TAB e, ao mesmo tempo, permitir que ele clique no botão. Definir TabStop como False significa que o botão de comando não aparecerá na ordem de tabulação. Contudo, se Enabled for True, o usuário poderá ainda clicar no botão de comando, desde que TakeFocusOnClick esteja definido como True.

Quando o usuário tabula para um MultiPage ou TabStrip ativado, a primeira página ou guia no controle receberá o foco. Se a primeira página ou guia de um MultiPage ou TabStrip estiver desativada, a primeira página ou guia ativada daquele controle receberá o foco. Se todas as páginas ou guias de um MultiPage ou TabStrip estiverem desativadas, o controle estará desativado e não poderá receber o foco.

Se um Frame estiver desativado, todos os controles nele contidos estarão desativados.

Clicar em um ListBox desativada não inicia o evento Click.


Propriedade EnterFieldBehavior

Especifica o comportamento da seleção durante a digitação em um TextBox ou ComboBox.

Sintaxe

objeto.EnterFieldBehavior [= fmEnterFieldBehavior]

A sintaxe da propriedade EnterFieldBehavior possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
fmEnterFieldBehavior	Opcional. O comportamento desejado para a seleção.
Definições

As definições para fmEnterFieldBehavior são:

Constante	Valor	Descrição
fmEnterFieldBehaviorSelectAll	0	Seleciona todo o conteúdo da região de edição ao inserir o controle (padrão).
fmEnterFieldBehaviorRecallSelection	1	Deixa a seleção inalterada. Visualmente, utiliza a seleção que estava em vigor na última vez que o controle estava ativo.
Comentários

A propriedade EnterFieldBehavior controla a forma como o texto é selecionado quando o usuário tabula até o controle, e não quando o controle recebe foco como resultado do método SetFocus. Seguindo SetFocus, o conteúdo do controle não é selecionado e o ponto de inserção aparece após o último caractere na região de edição do controle.


Propriedade EnterKeyBehavior

Define o efeito de se pressionar ENTER em um TextBox.

Sintaxe

objeto.EnterKeyBehavior [= Booleano]

A sintaxe da propriedade EnterKeyBehavior possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Booleano	Opcional. Especifica o efeito de se pressionar ENTER.
Definições

As definições para Booleano são:

Valor	Descrição
True	Pressionar ENTER cria uma nova linha.
False	Pressionar ENTER move o foco até o próximo objeto na ordem de tabulação (padrão).
Comentários

As propriedades EnterKeyBehavior e MultiLine estão intimamente relacionadas. Os valores descritos acima somente se aplicam se MultiLine for True. Se MultiLine for False, pressionar ENTER sempre move o foco para o próximo controle na ordem de tabulação independentemente do valor de EnterKeyBehavior.

O efeito de se pressionar CTRL+ENTER também depende do valor de MultiLine. Se MultiLine for True, pressionar CTRL+ENTER cria uma nova linha, independentemente do valor de EnterKeyBehavior. Se MultiLine for False, pressionar CTRL+ENTER não tem efeito.


Propriedade ForeColor

Especifica a cor de primeiro plano de um objeto.

Sintaxe

objeto.ForeColor [= Longo]

A sintaxe da propriedade ForeColor possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Longo	Opcional. Um valor ou constante que determina a cor de primeiro plano de um objeto.
Definições

Você pode utilizar qualquer número inteiro que represente uma cor válida. Você também pode especificar uma cor utilizando a função RGB com componentes de cor vermelho, verde e azul. O valor de cada componente de cor é um número inteiro que varia de zero a 255. Por exemplo, você pode especificar azul turquesa com o valor inteiro 4966415 ou com componentes de cor vermelho, verde e azul 15, 200, 75.

Comentários

Utilize a propriedade ForeColor para controles em formulários para torná-los fáceis de ler ou para transmitir um significado especial. Por exemplo, se uma caixa de texto registra o número de unidades no estoque, você poderá alterar a cor do texto quando o valor cair abaixo do nível de novos pedidos.

Para um ScrollBar ou SpinButton, ForeColor define a cor das setas. Para um Frame, ForeColor altera a cor de uma legenda. Para um objeto Font, ForeColor determina a cor do texto.


Propriedade GroupName

Cria um grupo de controles OptionButton mutuamente exclusivos.

Sintaxe

objeto.GroupName [= Seqüência]

A sintaxe da propriedade GroupName possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um OptionButton válido.
Seqüência	Opcional. O nome do grupo que inclui o OptionButton. Utilize a mesma definição para todos os botões do grupo. A definição padrão é uma seqüência vazia.
Comentários

Para criar um grupo de controles OptionButton mutuamente exclusivos, você pode inserir os botões em um Frame do seu formulário ou pode utilizar a propriedade GroupName. GroupName é mais eficiente pelas seguintes razões:

•	Você não precisa incluir um Frame para cada grupo. Não utilizando um Frame, você reduz o número de controles do formulário e também melhora o desempenho e reduz o tamanho do formulário.

•	Você tem mais flexibilidade de criação. Se você utilizar um Frame para criar o grupo, todos os botões deverão estar dentro do Frame. Se desejar mais de um grupo, deverá ter um Frame para cada grupo. Contudo, se utilizar GroupName para criar o grupo, este poderá incluir botões de opção em qualquer lugar do formulário. Se desejar mais de um grupo, especifique um nome exclusivo para cada um; você pode ainda posicionar os controles individuais em qualquer lugar do formulário.

•	Você pode criar botões com segundo plano transparente, o que pode melhorar a aparência visual do seu formulário. Frame não é um controle transparente.

Independentemente do método que utilizar para criar o grupo de botões, clicar em um botão de um grupo define todos os outros botões do mesmo grupo como False. Todos os botões de opção com o mesmo GroupName dentro de um único recipiente são mutuamente exclusivos. Você pode utilizar o mesmo nome de grupo em dois recipientes, mas fazer isso cria dois grupos (um em cada recipiente) em vez de um grupo que inclua ambos os recipientes.

Por exemplo, suponha que seu formulário inclua alguns botões de opção e um MultiPage que também inclua botões de opção. Os botões de opção no MultiPage são um grupo e os botões no formulário são outro grupo. Os dois grupos não afetam um ao outro. A mudança de definição de um botão no MultiPage não afeta os botões no formulário.


Propriedades Height e Width

A altura ou largura, em pontos, de um objeto.

Sintaxe

objeto.Height [= Único]

objeto.Width [= Único]

As sintaxes das propriedades Height e Width possuem as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Único	Opcional. Uma expressão numérica especificando as dimensões de um objeto.
Comentários

As propriedades Height e Width são automaticamente atualizadas quando você move ou dimensiona um controle. Se você alterar o tamanho de um controle, a propriedade Height ou Width armazena a nova altura ou largura e a propriedade OldHeight ou OldWidth armazena a altura ou largura anterior. Se você especificar uma definição para a propriedade Left ou Top que seja menor que zero, esse valor será utilizado para calcular a altura ou largura do controle, mas uma parte do controle não ficará visível no formulário.

Se você mover um controle de uma parte do formulário para outra, a definição de Height ou Width só se alterará se você dimensionar o controle à medida que o mover. As definições das propriedades Left e Top do controle serão alteradas para refletir a nova posição do controle em relação às bordas do formulário que o contém.

O valor atribuído a Height ou Width deve ser maior ou igual a zero. Para a maioria dos sistemas, é recomendado um intervalo de valores que vai de 0 a +32.767. Valores superiores também podem funcionar dependendo da configuração do seu sistema.


Propriedade HelpContextID

Associa um tópico específico em um arquivo de Ajuda do Microsoft Windows a um controle específico.

Sintaxe

objeto.HelpContextID [= Longo]

A sintaxe da propriedade HelpContextID possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Longo	Opcional. Um número inteiro positivo especifica a ident. de contexto de um tópico no arquivo de Ajuda associado ao objeto. Zero indica que nenhum tópico da Ajuda está associado ao objeto (padrão). Deve ser uma ident. de contexto válida no arquivo de Ajuda especificado.
Comentários

O tópico identificado pela propriedade HelpContextID está disponível aos usuários quando um formulário está em execução. Para exibir o tópico, o usuário deve selecionar o controle ou definir o foco para o controle e, então, pressionar F1.

A propriedade HelpContextID refere-se a um tópico no arquivo de Ajuda personalizado que você criou para descrever o formulário ou o aplicativo. No Visual Basic, o arquivo de Ajuda personalizado é uma propriedade do projeto.


Propriedade HideSelection

Especifica se o texto selecionado permanece realçado quando um controle não tem o foco.

Sintaxe

objeto.HideSelection [= Booleano]

A sintaxe da propriedade HideSelection possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Booleano	Opcional. Se o texto selecionado permanece realçado mesmo quando o controle não tem o foco.
Definições

As definições para Booleano são:

Valor	Descrição
True	O texto selecionado não é realçado, a menos que o controle tenha o foco (padrão).
False	O texto selecionado sempre aparece realçado.
Comentários

Você pode utilizar a propriedade HideSelection para manter o texto realçado quando um outro formulário ou caixa de diálogo receber o foco como, por exemplo, em um procedimento de verificação ortográfica.


Propriedade IMEMode

Especifica o modo padrão em tempo de execução do editor do método de entrada (IME, Input Method Editor) para um controle. Esta propriedade se aplica somente a aplicativos escritos para o extremo oriente e é ignorada em outros aplicativos.

Sintaxe

objeto.IMEMode [= fmIMEMode]

A sintaxe da propriedade IMEMode possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
fmIMEMode	Opcional. O modo do Editor do Método de Entrada (IME).
Definições

As definições para fmIMEMode são:

Constante	Valor	Descrição
fmIMEModeNoControl	0	Não controla IME (padrão).
fmIMEModeOn	1	IME ativado.
fmIMEModeOff	2	IME desativado. Modo inglês.
fmIMEModeDisable	3	IME desativado. O usuário não pode ativar IME pelo teclado.
fmIMEModeHiragana	4	IME ativado com modo Hiragana de largura total.
fmIMEModeKatakana	5	IME ativado com modo Katakana de largura total.
fmIMEModeKatakanaHalf	6	IME ativado com modo Katakana de meia largura.
fmIMEModeAlphaFull	7	IME ativado com modo Alfanumérico de largura total.
fmIMEModeAlpha	8	IME ativado com modo Alfanumérico de meia largura.
fmIMEModeHangulFull	9	IME ativado com modo Hangul de largura total.
fmIMEModeHangul	10	IME ativado com modo Hangul de meia largura.
A definição fmIMEModeNoControl indica que o modo do IME não se altera quando o controle recebe o foco em tempo de execução. Para qualquer outro valor, o modo do IME é definido como o valor especificado pela propriedade IMEMode quando o controle recebe o foco em tempo de execução.

Comentários

Há duas maneiras de se definir o modo do IME. Uma é através da barra de ferramentas do IME. A outra é com a propriedade IMEMode de um controle, que define ou retorna o modo atual do IME. Esta propriedade permite controle dinâmico do IME através de código.

O exemplo a seguir explica como IMEMode interage com a barra de ferramentas do IME. Suponha que você projetou um formulário com TextBox1 e CheckBox1. Você definiu TextBox1.IMEMode como 0 e definiu CheckBox1.IMEMode como 1. Enquanto estava em modo de projeto, você utilizou a barra de ferramentas do IME para colocar o IME no modo 2.

Quando você executar o formulário, o IME começará no modo 2. Se clicar em TextBox1, o modo IME não se alterará, pois o IMEMode para este controle é 0. Se clicar em CheckBox1, o IME mudará para o modo 1, porque o IMEMode para este controle é 1. Se clicar novamente em TextBox1, o IME permanecerá no modo 1 (IMEMode é 0 e, portanto, o IME retém sua última definição).

Entretanto, você pode anular IMEMode. Por exemplo, suponha que você clique em CheckBox1 e o IME entre no modo 1, conforme definido por IMEMode para o CheckBox. Se depois você utilizar a barra de ferramentas do IME para colocar o IME no modo 3, o IME será definido como modo 3 a qualquer momento em que você clicar no controle. Isto não altera o valor da propriedade, mas anula a propriedade até a próxima vez que você executar o formulário.


Propriedade Index

A posição de um objeto Tab dentro de uma coleção Tabs ou um objeto Page em uma coleção Pages.

Sintaxe

objeto.Index [= Inteiro]

A sintaxe da propriedade Index possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Inteiro	Opcional. O índice do objeto Tab atualmente selecionado.
Comentários

A propriedade Index especifica a ordem em que aparecem as guias. Alterar o valor de Index muda visualmente a ordem de Pages em um MultiPage ou de Tabs em um TabStrip. O valor de índice para a primeira página ou guia é zero, o valor de índice da segunda página ou guia é um e assim por diante.

Em um MultiPage, Index refere-se a um Page, bem como ao Tab de uma página. Em um TabStrip, Index refere-se somente à guia.


Propriedades InsideHeight e InsideWidth

InsideHeight retorna a altura, em pontos, da região cliente dentro de um formulário. InsideWidth retorna a largura, em pontos, da região cliente dentro de um formulário.

Sintaxe

objeto.InsideHeight

objeto.InsideWidth

As sintaxes das propriedades InsideHeight e InsideWidth possuem as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Comentários

As propriedades InsideHeight e InsideWidth são somente leitura. Se a região inclui uma barra de rolagem, o valor retornado não inclui a altura ou largura de uma barra de rolagem.


Propriedade IntegralHeight

Indica se um ListBox ou TextBox exibe linhas completas de texto em uma lista ou linhas parciais.

Sintaxe

objeto.IntegralHeight [= Booleano]

A sintaxe da propriedade IntegralHeight possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Booleano	Opcional. Se a lista exibe linhas parciais de texto.
Definições

As definições para Booleano são:

Valor	Descrição
True	A lista se redimensiona para exibir somente itens completos (padrão).
False	A lista não se redimensiona mesmo que o item seja extremamente comprido para ser exibido inteiramente.
Comentários

A propriedade IntegralHeight refere-se à altura da lista, da mesma forma que a propriedade AutoSize se refere à largura da lista.

Se IntegralHeight for True, a caixa de listagem será redimensionada automaticamente, quando necessário, para mostrar linhas completas. Se for False, a lista permanecerá com um tamanho fixo; se os itens forem mais compridos que o espaço disponível na lista, não será mostrado o item inteiro.


Propriedade TakeFocusOnClick

Especifica se um controle toma o foco quando clicado.

Sintaxe

objeto.TakeFocusOnClick [= Booleano]

A sintaxe da propriedade KeepFocusOnClick possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Booleano	Opcional. Especifica se um controle toma o foco quando clicado.
Definições

As definições para Booleano são:

Valor	Descrição
True	O botão toma o foco quando clicado (padrão).
False	O botão não toma o foco quando clicado.
Comentários

A propriedade TakeFocusOnClick define somente o que acontece quando o usuário clica em um controle. Se o usuário tabula para o controle, o controle toma o foco, independentemente do valor de TakeFocusOnClick.

Utilize esta propriedade para completar ações que afetam um controle sem exigir que esse controle desista do foco. Por exemplo, suponha que o formulário inclui um TextBox e um CommandButton que verifica a ortografia do texto. Seria conveniente selecionar o texto no TextBox, clicar no CommandButton e executar o corretor ortográfico sem retirar o foco do TextBox. Você pode fazê-lo definindo a propriedade TakeFocusOnClick do CommandButton como False.


Propriedade KeepScrollBarsVisible

Especifica se as barras de rolagem permanecem visíveis quando não são necessárias.

Sintaxe

objeto.KeepScrollBarsVisible [= fmScrollBars]

A sintaxe da propriedade KeepScrollBarsVisible possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
fmScrollBars	Opcional. Onde as barras de rolagem são exibidas.
Definições

As definições para fmScrollBars são:

Constante	Valor	Descrição
fmScrollBarsNone	0	Não exibe barras de rolagem.
fmScrollBarsHorizontal	1	Exibe uma barra de rolagem horizontal.
fmScrollBarsVertical	2	Exibe uma barra de rolagem vertical.
fmScrollBarsBoth	3	Exibe uma barra de rolagem horizontal e uma barra de rolagem vertical (padrão).
Comentários

Se a região visível for suficientemente grande para exibir todos os controles em um objeto, como um objeto Page ou um formulário, as barras de rolagem não são exigidas. A propriedade KeepScrollBarsVisible determina se as barras de rolagem permanecem visíveis quando desnecessárias.

Se as barras de rolagem estiverem visíveis quando não forem necessárias, elas aparecerão no tamanho normal e a caixa de rolagem preencherá toda a largura ou altura da barra de rolagem.


Propriedade LargeChange

Especifica a quantidade de movimento que ocorre quando o usuário clica entre a caixa de rolagem e a seta de rolagem.

Sintaxe

objeto.LargeChange [= Longo]

A sintaxe da propriedade LargeChange possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Longo	Opcional. Um número inteiro que especifica a quantidade de alterações da propriedade Value.
Comentários

A propriedade LargeChange aplica-se somente a ScrollBar. Ela não se aplica às barras de rolagem em outros controles, como um TextBox ou um ComboBox suspenso.

O valor de LargeChange é a quantidade pela qual a propriedade ScrollBar’s Value muda quando o usuário clica na área entre a barra de rolagem e a seta de rolagem. O movimento é sempre em direção ao local em que o usuário clica. Por exemplo, em um ScrollBar horizontal, clicar à esquerda da caixa de rolagem move a caixa de rolagem para a esquerda. Em um ScrollBar vertical, clicar acima da caixa de rolagem move a caixa de rolagem para cima.

LargeChange não possui unidades. Qualquer número inteiro é uma definição válida para LargeChange. O intervalo de valores recomendado vai de –32.767 a 32.767 e o valor deve estar entre os valores das propriedades Max e Min do ScrollBar.


Propriedade LayoutEffect

Especifica se um controle foi movido durante uma mudança de layout.

Sintaxe

objeto.LayoutEffect

A sintaxe da propriedade LayoutEffect possui a parte a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Valores de retorno

O argumento fmLayoutEffect possui os valores a seguir:

Constante	Valor	Descrição
fmLayoutEffectNone	0	O controle não foi movido.
fmLayoutEffectInitiate	1	O controle foi movido.
Comentários

A propriedade LayoutEffect é somente leitura e está disponível somente no evento Layout. O evento Layout é iniciado pelo método Move se o argumento Layout for True.

O evento Layout não é iniciado quando você altera as definições das propriedades Left, Top, Height ou Width de um controle.

O evento Layout define LayoutEffect para qualquer controle que esteve envolvido em uma operação de movimentação. Por exemplo, se você mover um grupo de controles, o LayoutEffect de cada controle será definido.


Propriedades Left e Top

A distância entre um controle e a borda esquerda ou superior do formulário que o contém.

Sintaxe

objeto.Left [= Único]

objeto.Top [= Único]

As sintaxes das propriedades Left e Top possuem as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Único	Opcional. Uma expressão numérica especificando as coordenadas de um objeto.
Definições

Definir a propriedade Left ou Top como 0 coloca a borda do controle na borda esquerda ou superior de seu recipiente.

Comentários

Para a maioria dos sistemas, o intervalo de valores recomendado para Left e Top vai de -32.767 a +32.767. Outros valores também podem funcionar dependendo da configuração do seu sistema. Para um ComboBox, valores de Left e Top aplicam-se à parte de texto do controle, não à parte de lista. Quando você move ou dimensiona um controle, sua nova definição Left é inserida automaticamente na folha de propriedades. Quando você imprime um formulário, a localização horizontal ou vertical do controle é determinada pela sua definição Left ou Top.


Propriedade LineCount

Retorna o número de linhas de texto em um TextBox ou ComboBox.

Sintaxe

objeto.LineCount

A sintaxe da propriedade LineCount possui a parte a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Comentários

A propriedade LineCount é somente leitura.

Observação  Um ComboBox terá somente uma linha.


Propriedade List

Retorna ou define as entradas de lista de um ListBox ou ComboBox.

Sintaxe

objeto.List( linha, coluna ) [= Variante]

A sintaxe da propriedade List possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
linha	Obrigatória. Um número inteiro no intervalo de 0 até um número uma unidade menor que o número de entradas na lista.
coluna	Obrigatória. Um número inteiro no intervalo de 0 até um número uma unidade menor que o número de colunas.
Variante	Opcional. O conteúdo da entrada especificada no ListBox ou ComboBox.
Definições

A numeração de linhas e colunas começa com zero, isto é, o número de linha da primeira linha na lista é zero; o número de coluna da primeira coluna é zero. O número da segunda linha ou coluna é 1 e assim por diante.

Comentários

A propriedade List funciona com as propriedades ListCount e ListIndex. Utilize List para acessar itens de lista. Uma lista é uma matrizvariante; cada item na lista possui um número de linha e um número de coluna.

Inicialmente, ComboBox e ListBox contêm uma lista vazia.

Observação  Para especificar itens que você deseja exibir em um ComboBox ou ListBox, utilize o método AddItem. Para remover itens, utilize o método RemoveItem.

Utilize List para copiar toda uma matriz bidimensional de valores em um controle. Utilize AddItem para carregar uma matriz unidimensional ou para carregar um elemento individual.


Propriedade ListCount

Retorna o número de entradas de lista em um controle.

Sintaxe

objeto.ListCount

A sintaxe da propriedade ListCount possui a parte a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Comentários

A propriedade ListCount é somente leitura. ListCount é o número de linhas que podem ser roladas. ListRows é o máximo que pode ser exibido de uma só vez. ListCount é sempre uma unidade maior que o maior valor para a propriedade ListIndex, pois os números de índice começam com 0 e a contagem de itens começa com 1. Se nenhum item for selecionado, ListCount será 0 e ListIndex  –1.


Propriedade ListIndex

Identifica o item atualmente selecionado em um ListBox ou ComboBox.

Sintaxe

objeto.ListIndex [= Variante]

A sintaxe da propriedade ListIndex possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Variante	Opcional. O item atualmente selecionado no controle.
Comentários

A propriedade ListIndex contém um índice da linha selecionada em uma lista. Os valores de ListIndex variam de –1 a um número uma unidade menor que o número total de linhas em uma lista (isto é, ListCount – 1). Quando não há linhas selecionadas, ListIndex retorna –1. Quando o usuário seleciona uma linha em um ListBox ou ComboBox, o sistema define o valor de ListIndex. O valor de ListIndex da primeira linha em uma lista é 0, o valor da segunda linha é 1 e assim por diante.

Observação  Se você utilizar a propriedade MultiSelect para criar um ListBox que permita múltiplas seleções, a propriedade Selected do ListBox (e não a propriedade ListIndex) identificará as linhas selecionadas. A propriedade Selected é uma matriz com o mesmo número de valores que o número de linhas no ListBox. Para cada linha da caixa de listagem, Selected é True se a linha estiver selecionada e é False se não estiver. Em um ListBox que permite múltiplas seleções, ListIndex retorna o índice da linha que possui o foco, independentemente de essa linha estar ou não atualmente selecionada.

O valor de ListIndex também está disponível definindo-se a propriedade BoundColumn como 0 para uma caixa de combinação ou uma caixa de listagem. Se BoundColumn for 0, a fonte de dados subjacente à qual a caixa de combinação ou a caixa de listagem está acoplada contém o mesmo valor de índice de lista que o de ListIndex.


Propriedade ListRows

Especifica o número máximo de linhas a exibir na lista.

Sintaxe

objeto.ListRows [= Longo]

A sintaxe da propriedade ListRows possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Longo	Opcional. Um número inteiro indicando o número máximo de linhas. O valor padrão é 8.
Comentários

Se o número de itens na lista exceder o valor da propriedade ListRows, aparecerá uma barra de rolagem na borda direita da parte caixa de listagem da caixa de combinação.


Propriedade ListStyle

Especifica o aspecto visual da lista em um ListBox ou ComboBox.

Sintaxe

objeto.ListStyle [= fmListStyle]

A sintaxe da propriedade ListStyle possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
fmListStyle	Opcional. O estilo visual da lista.
Definições

As definições para fmListStyle são:

Constante	Valor	Descrição
fmListStylePlain	0	Parece uma caixa de listagem normal, com o segundo plano dos itens realçado.
fmListStyleOption	1	Mostra botões de opção ou caixas de seleção para uma lista de várias seleções (padrão). Quando o usuário seleciona um item do grupo, o botão de opção associado a esse item é selecionado e os botões de opção para os outros itens no grupo têm a seleção anulada.
Comentários

A propriedade ListStyle permite que você mude a apresentação visual de um ListBox ou ComboBox. Por meio da especificação de uma definição diferente de fmListStylePlain, você pode apresentar o conteúdo de ambos os controles como um grupo de itens individuais, com cada item incluindo um indício visual para indicar se está selecionado.

Se o controle suportar uma única seleção (a propriedade MultiSelect está definida como fmMultiSelectSingle), o usuário pode pressionar um único botão no grupo. Se o controle suportar várias seleções, o usuário pode pressionar dois ou mais botões no grupo.


Propriedade ListWidth

Especifica a largura da lista em um ComboBox.

Sintaxe

objeto.ListWidth [= Variante]

A sintaxe da propriedade ListWidth possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Variante	Opcional. A largura da lista. Um valor zero faz com que a lista tenha a mesma largura do ComboBox. O valor padrão é tornar a lista tão larga quanto a parte texto do controle.
Comentários

Se desejar exibir uma lista de várias colunas, digite um valor que tornará a caixa de listagem larga o suficiente para se ajustar a todas as colunas.

Dica  Ao projetar caixas de combinação, certifique-se de deixar espaço suficiente para exibir seus dados e para uma barra de rolagem vertical.


Propriedade Locked

Especifica se um controle pode ser editado.

Sintaxe

objeto.Locked [= Booleano]

A sintaxe da propriedade Locked possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Booleano	Opcional. Se o controle pode ser editado.
Definições

As definições para Booleano são:

Valor	Descrição
True	Você não pode editar o valor.
False	Você pode editar o valor (padrão).
Comentários

Quando um controle está bloqueado e ativado, ele ainda pode iniciar eventos e ainda pode receber o foco.


Propriedade MatchEntry

Retorna ou define um valor indicando como um ListBox ou ComboBox pesquisa sua lista à medida que o usuário digita.

Sintaxe

objeto.MatchEntry [= fmMatchEntry]

A sintaxe da propriedade MatchEntry possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
fmMatchEntry	Opcional. A regra utilizada para comparar entradas na lista.
Definições

As definições para fmMatchEntry são:

Constante	Valor	Descrição
fmMatchEntryFirstLetter	0	Correspondência básica. O controle pesquisa a próxima entrada que inicia com o caractere digitado. Digitar repetidamente a mesma letra circula por todas as entradas que começam com essa letra.
fmMatchEntryComplete	1	Correspondência estendida. À medida que cada caractere é digitado, o controle pesquisa uma entrada correspondente a todos os caracteres digitados (padrão).
fmMatchEntryNone	2	Sem correspondência.
Comentários

A propriedade MatchEntry pesquisa entradas da propriedade TextColumn de um ListBox ou ComboBox.

O controle examina a coluna identificada por TextColumn para localizar uma entrada que corresponda à entrada digitada pelo usuário. Ao localizar uma correspondência, a linha que contém a correspondência é selecionada, o conteúdo da coluna é exibido e o conteúdo de sua propriedade BoundColumn torna-se o valor do controle. Se a correspondência for inequívoca, a localização da correspondência inicia o evento Click.

O controle inicia o evento Click assim que o usuário digita uma seqüência de caracteres que tenha uma correspondência exata com uma entrada na lista. À medida que o usuário digita, a entrada é comparada com a linha atual na lista e com a próxima linha na lista. Quando a entrada corresponde somente à linha atual, a correspondência é inequívoca.

No Microsoft Forms, isto se aplica independentemente de a lista ser ou não classificada. Isto significa que o controle localiza a primeira ocorrência que corresponda à entrada, com base na ordem de itens na lista. Por exemplo, digitar “abc” ou “bc” iniciará o evento Click para a lista a seguir:

abcde

bcdef

abcxyz

bchij

Observe que, em ambos os casos, a entrada correspondente não é exclusiva; contudo, ela é suficientemente diferente da entrada adjacente para que o controle interprete a correspondência como inequívoca e inicie o evento Click.


Propriedade MatchFound

Indica se o texto que um usuário digitou na caixa de combinação corresponde a qualquer uma das entradas na lista.

Sintaxe

objeto.MatchFound

A sintaxe da propriedade MatchFound possui a parte a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Valores de retorno

Os valores de retorno da propriedade MatchFound são:

Valor	Descrição
True	O conteúdo da propriedade Value corresponde a um dos registros na lista.
False	O conteúdo de Value não corresponde a nenhum dos registros na lista (padrão).
Comentários

A propriedade MatchFound é somente leitura. Ela não é aplicável quando a propriedade MatchEntry é definida como fmMatchEntryNone.


Propriedade MatchRequired

Especifica se um valor digitado na parte texto de um ComboBox deve corresponder a uma entrada na parte lista existente do controle. O usuário pode digitar valores não-correspondentes, mas não pode deixar o controle enquanto não for digitado um valor correspondente.

Sintaxe

objeto.MatchRequired [= Booleano]

A sintaxe da propriedade MatchRequired possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Booleano	Opcional. Se o texto digitado deve corresponder a um item existente na lista.
Definições

As definições para Booleano são:

Valor	Descrição
True	O texto digitado deve corresponder a uma entrada da lista existente.
False	O texto digitado pode ser diferente de todas as entradas da lista existentes (padrão).
Comentários

Se a propriedade MatchRequired for True, o usuário não poderá sair do ComboBox enquanto o texto digitado não corresponder a uma entrada na lista existente. MatchRequired mantém a integridade da lista exigindo que o usuário selecione uma entrada existente.

Observação  Nem todos os recipientes impõem esta propriedade.


Propriedades Max e Min

Especificam os valores máximo e mínimo aceitáveis para a propriedade Value de um ScrollBar ou SpinButton.

Sintaxe

objeto.Max [= Longo]

objeto.Min [= Longo]

As sintaxes das propriedades Max e Min possuem as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Longo	Opcional. Uma expressão numérica especificando a definição máxima ou mínima da propriedade Value.
Comentários

Clicar em um SpinButton ou mover a caixa de rolagem em um ScrollBar altera a propriedade Value do controle.

O valor da propriedade Max corresponde à posição mais baixa de um ScrollBar vertical ou à posição extrema direita de um ScrollBar horizontal. O valor para a propriedade Min corresponde à posição mais elevada de um ScrollBar vertical ou à posição extrema esquerda de um ScrollBar horizontal.

Qualquer número inteiro é uma definição aceitável para esta propriedade. O intervalo de valores recomendado é de –32.767 a +32.767. O valor padrão é 1.

Observação  Min e Max referem-se a locais, não a valores relativos, na ScrollBar, isto é, o valor de Max poderia ser menor que o valor de Min. Se este for o caso, mover em direção à posição Max (base) significa diminuir Value; mover em direção à posição Min (topo) significa aumentar Value.


Propriedade MaxLength

Especifica o número máximo de caracteres que um usuário pode digitar em um TextBox ou ComboBox.

Sintaxe

objeto.MaxLength [= Longo]

A sintaxe da propriedade MaxLength possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Longo	Opcional. Um número inteiro indicando o número permitido de caracteres.
Comentários

Definir a propriedade MaxLength como 0 indica que não há nenhum outro limite além do criado por restrições de memória.


Propriedade MouseIcon

Atribui um ícone personalizado a um objeto.

Sintaxe

objeto.MouseIcon = LoadPicture( nomedocaminho )

A sintaxe da propriedade MouseIcon possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
nomedocaminho	Obrigatória. Uma expressão de seqüência que especifica o caminho e o nome de arquivo do arquivo que contém o ícone personalizado.
Comentários

A propriedade MouseIcon é válida quando a propriedade MousePointer é definida como 99. O ícone de mouse de um objeto é a imagem que aparece quando o usuário move o mouse através desse objeto.

Para atribuir uma imagem ao ponteiro do mouse, você tanto pode atribuir uma figura à propriedade MouseIcon quanto carregar uma figura de arquivo utilizando a função LoadPicture.


Propriedade MousePointer

Especifica o tipo de ponteiro exibido quando o usuário posiciona o mouse sobre um determinado objeto.

Sintaxe

objeto.MousePointer [= fmMousePointer]

A sintaxe da propriedade MousePointer possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
fmMousePointer	Opcional. A forma que você deseja para o ponteiro do mouse.
Definições

As definições para fmMousePointer são:

Constante	Valor	Descrição
fmMousePointerDefault	0	Ponteiro padrão. A imagem é determinada pelo objeto (padrão).
fmMousePointerArrow	1	Seta.
fmMousePointerCross	2	Ponteiro em forma de cruz.
fmMousePointerIBeam	3	Forma de I.
fmMousePointerSizeNESW	6	Seta dupla apontando para o nordeste e sudoeste.
fmMousePointerSizeNS	7	Seta dupla apontando para o norte e sul.
fmMousePointerSizeNWSE	8	Seta dupla apontando para o noroeste e sudeste.
fmMousePointerSizeWE	9	Seta dupla apontando para o oeste e leste.
fmMousePointerUpArrow	10	Seta acima.
fmMousePointerHourglass	11	Ampulheta.
fmMousePointerNoDrop	12	Símbolo de "Não" (círculo com uma linha diagonal) no topo do objeto que está sendo arrastado. Indica um destino de soltura inválido.
fmMousePointerAppStarting	13	Seta com uma ampulheta.
fmMousePointerHelp	14	Seta com um ponto de interrogação.
fmMousePointerSizeAll	15	Dimensionar todos os cursores (setas apontando para o norte, sul, leste e oeste).
fmMousePointerCustom	99	Utiliza o ícone especificado pela propriedade MouseIcon.
Comentários

Utilize a propriedade MousePointer quando desejar indicar mudanças na funcionalidade à medida que o ponteiro do mouse passar sobre controles de um formulário. Por exemplo, a definição de ampulheta (11) é útil para indicar que o usuário deve aguardar o término de um processo ou operação.

Alguns ícones variam dependendo de definições do sistema, como os ícones associados a temas da área de trabalho.


Propriedade MultiLine

Especifica se um controle pode aceitar e exibir várias linhas de texto.

Sintaxe

objeto.MultiLine [= Booleano]

A sintaxe da propriedade MultiLine possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Booleano	Opcional. Se o controle suporta mais de uma linha de texto.
Definições

As definições para Booleano são:

Valor	Descrição
True	O texto é exibido com várias linhas (padrão).
False	O texto não é exibido com várias linhas.
Comentários

Um TextBox de várias linhas permite quebras de linha absolutas e ajusta seu número de linhas para acomodar a quantidade de texto nele contida. Se necessário, um controle de várias linhas pode possuir barras de rolagem verticais.

Um TextBox de linha única não permite quebras de linha absolutas e não utiliza barras de rolagem verticais.

Controles de linha única ignoram o valor da propriedade WordWrap.

Observação  Se você alterar MultiLine para False em um TextBox de várias linhas, todos os caracteres do TextBox serão combinados em uma linha, incluindo caracteres que podem ser impressos (como retornos de carro e linhas novas).


Propriedade MultiRow

Especifica se o controle possui mais de uma linha de guias.

Sintaxe

objeto.MultiRow [= Booleano]

A sintaxe da propriedade MultiRow possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Booleano	Opcional. Se o controle tem mais de uma linha de guias.
Definições

As definições para Booleano são:

Valor	Descrição
True	Permite mais de uma linha de guias.
False	Restringe as guias a uma única linha (padrão).
Comentários

A largura e o número de guias determinam o número de linhas. Alterar o tamanho do controle também altera o número de linhas. Isto permite que o desenvolvedor redimensione o controle e assegure que as guias façam mudança automática de linha para se ajustarem ao controle. Se a propriedade MultiRow for False, ocorrerá um truncamento se a largura das guias exceder a largura do controle.

Se MultiRow for False e as guias estiverem truncadas, haverá uma pequena barra de rolagem no TabStrip para permitir a rolagem até outras guias ou páginas.


Propriedade MultiSelect

Indica se o objeto permite várias seleções.

Sintaxe

objeto.MultiSelect [= fmMultiSelect]

A sintaxe da propriedade MultiSelect possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
fmMultiSelect	Opcional. O modo de seleção que o controle utiliza.
Definições

As definições para fmMultiSelect são:

Constante	Valor	Descrição
fmMultiSelectSingle	0	Somente um item pode ser selecionado (padrão).
fmMultiSelectMulti	1	Pressionar a BARRA DE ESPAÇOS ou clicar seleciona ou anula a seleção de um item na lista.
fmMultiSelectExtended	2	Pressionar SHIFT e clicar com o mouse ou pressionar SHIFT e uma das teclas de seta estende a seleção desde o item anteriormente selecionado até o item atual. Pressionar CTRL e clicar com o mouse seleciona ou anula a seleção de um item.
Comentários

Quando a propriedade MultiSelect é definida como Estendida ou Simples, você deve utilizar a propriedade Selected da caixa de listagem para determinar os itens selecionados. Além disso, a propriedade Value do controle é sempre Null.

A propriedade ListIndex retorna o índice da linha com o foco do teclado.


Propriedade Name

Especifica o nome de um controle ou um objeto, ou o nome de uma fonte para ser associada a um objeto Font.

Sintaxe

Para Fonte
Fonte.Name [= Seqüência]

Para todos os outros controles e objetos
objeto.Name [= Seqüência]

A sintaxe da propriedade Name possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Seqüência	Opcional. O nome que você deseja atribuir à fonte ou ao controle.
Definições

As diretrizes para atribuição de uma seqüência a Name, como o tamanho máximo do nome, variam de um aplicativo para outro.

Comentários

Para objetos, o valor padrão de Name consiste no nome de classe do objeto seguido de um número inteiro. Por exemplo, o nome padrão para o primeiro TextBox que você coloca em um formulário é TextBox1. O nome padrão para o segundo TextBox é TextBox2.

Você pode definir a propriedade Name para um controle da folha de propriedades do controle ou para controles adicionados em tempo de execução, por meio da utilização de instruções de programa. Se você adicionar um controle na fase de projeto, não poderá modificar a propriedade Name em tempo de execução.

Cada controle adicionado a um formulário na fase de projeto deve ter um nome exclusivo.

Para objetos Font, Name identifica um determinado tipo a utilizar na parte texto de um controle, objeto ou formulário. A aparência da fonte na tela e na impressão podem diferir, dependendo do seu computador e impressora. Se você selecionar uma fonte que seu sistema não consegue exibir ou que não está instalada, o Windows a substituirá por uma fonte semelhante.


Propriedade Object

Substitui uma propriedade ou método padrão quando um novo controle possui uma propriedade ou método com o mesmo nome.

Sintaxe

objeto.Object[.propriedade |.método]

A sintaxe da propriedade Object possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. O nome de um objeto que você adicionou à Caixa de ferramentas do Microsoft Forms.
propriedade	Opcional. Uma propriedade cujo nome é idêntico ao nome de uma propriedade padrão do Microsoft Forms.
método	Opcional. Um método que possui o mesmo nome de um método padrão do Microsoft Forms.
Comentários

Object é somente leitura.

Se você adicionar um novo controle à Caixa de ferramentas do Microsoft Forms, é possível que o controle adicionado venha a ter uma propriedade ou método com o mesmo nome de uma propriedade ou método padrão do Microsoft Forms. A propriedade Object permite que você utilize a propriedade ou método do controle adicionado, em vez da propriedade ou método padrão.


Propriedades OldHeight e OldWidth

Retorna a altura ou largura anterior, em pontos, do controle.

Sintaxe

objeto.OldHeight

objeto.OldWidth

As sintaxes das propriedades OldHeight e OldWidth possuem a parte a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Comentários

OldHeight e OldWidth são somente leitura.

As propriedades OldHeight e OldWidth são automaticamente atualizadas quando você move ou dimensiona um controle. Se você alterar o tamanho de um controle, as propriedades Height e Width armazenarão a nova altura e OldHeight e OldWidth armazenarão a altura anterior.

Estas propriedades são válidas somente no evento Layout.


Propriedades OldLeft e OldTop

Indicam a distância, em pontos, entre a posição anterior de um controle e a borda esquerda ou superior do formulário que o contém.

Sintaxe

objeto.OldLeft

objeto.OldTop

As sintaxes das propriedades OldLeft e OldTop possuem a parte a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Comentários

OldLeft e OldTop são somente leitura.

As propriedades OldLeft e OldTop são automaticamente atualizadas quando você move ou dimensiona um controle. Se você mover um controle, as propriedades Left e Top armazenam a nova distância desde o controle até a borda esquerda de seu recipiente e OldLeft e OldTop armazenam o valor anterior de Left.

OldLeft e OldTop são válidas somente no evento Layout.


Propriedade Orientation

Especifica se o SpinButton ou ScrollBar é orientado verticalmente ou horizontalmente.

Sintaxe

objeto.Orientation [= fmOrientation]

A sintaxe da propriedade Orientation possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
fmOrientation	Opcional. Orientação do controle.
Definições

As definições para fmOrientation são:

Constante	Valor	Descrição
fmOrientationAuto	–1	Determina automaticamente a orientação, com base nas dimensões do controle (padrão).
fmOrientationVertical	0	O controle é processado verticalmente.
fmOrientationHorizontal	1	O controle é processado horizontalmente.
Comentários

Se você especificar uma orientação automática, a altura e largura do controle determinarão se ele aparece horizontal ou verticalmente. Por exemplo, se o controle for mais largo do que alto, ele aparecerá horizontalmente; se for mais alto do que largo, o controle aparecerá verticalmente.


Propriedade Parent

Retorna o nome do formulário, objeto ou coleção que contém um determinado controle, objeto ou coleção.

Sintaxe

objeto.Parent

A sintaxe da propriedade Parent possui a parte a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Comentários

Parent é somente leitura.

Utilize a propriedade Parent para acessar as propriedades, métodos ou controles do pai de um objeto.

Esta propriedade é útil em um aplicativo em que você passa objetos como argumentos. Por exemplo, você poderia passar uma variável de controle a um procedimento geral em um módulo e utilizar Parent para acessar seu formulário pai.


Propriedade PasswordChar

Especifica se caracteres de espaço reservado são exibidos no lugar dos caracteres realmente digitados em um TextBox.

Sintaxe

objeto.PasswordChar [= Seqüência]

A sintaxe da propriedade PasswordChar possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Seqüência	Opcional. Uma expressão de seqüência especificando o caractere de espaço reservado.
Comentários

Você pode utilizar a propriedade PasswordChar para proteger informações importantes, como senhas ou códigos de segurança. O valor de PasswordChar é o caractere que aparece em um controle no lugar dos caracteres que o usuário realmente digita. Se você não especificar um caractere, o controle exibirá os caracteres que o usuário digitar.


Propriedade Picture

Especifica o bitmap a exibir em um objeto.

Sintaxe

objeto.Picture = LoadPicture( nomedocaminho )

A sintaxe da propriedade Picture possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
nomedocaminho	Obrigatória. O caminho completo para um arquivo de figura.
Comentários

Durante a criação de um formulário, você pode utilizar a página de propriedades do controle para atribuir um bitmap à propriedade Picture. Durante a execução de um formulário, você deve utilizar a função LoadPicture para atribuir um bitmap a Picture.

Para remover uma figura que é atribuída a um controle, clique no valor da propriedade Picture na página de propriedades e, então, pressione DELETE. Pressionar BACKSPACE não removerá a figura.

Observação  Para controles com legendas, utilize a propriedade PicturePosition para especificar onde exibir a figura no objeto. Utilize a propriedade PictureSizeMode para determinar como a figura preencherá o objeto.

Figuras transparentes às vezes possuem uma aparência indistinta. Se você não gostar dessa aparência, exiba a figura em um controle que suporte imagens opacas. Image e MultiPage suportam imagens opacas.


Propriedade PictureAlignment

Especifica a localização de uma figura de segundo plano.

Sintaxe

objeto.PictureAlignment [= fmPictureAlignment]

A sintaxe da propriedade PictureAlignment possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
fmPictureAlignment	Opcional. A posição onde a figura se alinha com o controle.
Definições

As definições para fmPictureAlignment são:

Constante	Valor	Descrição
fmPictureAlignmentTopLeft	0	O canto superior esquerdo.
fmPictureAlignmentTopRight	1	O canto superior direito.
fmPictureAlignmentCenter	2	O centro.
fmPictureAlignmentBottomLeft	3	O canto inferior esquerdo.
fmPictureAlignmentBottomRight	4	O canto inferior direito.
Comentários

A propriedade PictureAlignment identifica qual canto da figura equivale ao canto correspondente do controle ou recipiente onde a figura é utilizada.

Por exemplo, definir PictureAlignment como fmPictureAlignmentTopLeft significa que o canto superior esquerdo da figura coincide com o canto superior esquerdo do controle ou recipiente. Definir PictureAlignment como fmPictureAlignmentCenter posiciona a figura no meio, em relação à altura bem como à largura do controle ou recipiente.

Se você colocar uma imagem lado a lado em um controle ou recipiente, a definição de PictureAlignment afetará o padrão lado a lado. Por exemplo, se PictureAlignment é definida como fmPictureAlignmentUpperLeft, a primeira cópia da imagem é colocada no canto superior esquerdo do controle ou recipiente e cópias adicionais são colocadas lado a lado, da esquerda para a direita, cobrindo inteiramente cada linha. Se PictureAlignment for fmPictureAlignmentCenter, a primeira cópia da imagem é colocada no centro do controle ou recipiente, cópias adicionais são colocadas à esquerda e direita para completar a linha e linhas adicionais são acrescentadas para preencher o controle ou recipiente.

Observação  Definir a propriedade PictureSizeMode como fmSizeModeStretch anula PictureAlignment. Quando PictureSizeMode é definido como fmSizeModeStretch, a figura preenche o controle ou recipiente inteiro.


Propriedade PicturePosition

Especifica a localização da figura em relação à sua legenda.

Sintaxe

objeto.PicturePosition [= fmPicturePosition]

A sintaxe da propriedade PicturePosition possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
fmPicturePosition	Opcional. Como a figura se alinha ao seu recipiente.
Definições

As definições para fmPicturePosition são:

Constante	Valor	Descrição
fmPicturePositionLeftTop	0	A figura aparece à esquerda da legenda. A legenda é alinhada com o topo da figura.
fmPicturePositionLeftCenter	1	A figura aparece à esquerda da legenda. A legenda é centralizada em relação à figura.
fmPicturePositionLeftBottom	2	A figura aparece à esquerda da legenda. A legenda é alinhada com a base da figura.
fmPicturePositionRightTop	3	A figura aparece à direita da legenda. A legenda é alinhada com o topo da figura.
fmPicturePositionRightCenter	4	A figura aparece à direita da legenda. A legenda é centralizada em relação à figura.
fmPicturePositionRightBottom	5	A figura aparece à direita da legenda. A legenda é alinhada com a base da figura.
fmPicturePositionAboveLeft	6	A figura aparece acima da legenda. A legenda é alinhada com a borda esquerda da figura.
fmPicturePositionAboveCenter	7	A figura aparece acima da legenda. A legenda é centralizada abaixo da figura (padrão).
fmPicturePositionAboveRight	8	A figura aparece acima da legenda. A legenda é alinhada com a borda direita da figura.
fmPicturePositionBelowLeft	9	A figura aparece abaixo da legenda. A legenda é alinhada com a borda esquerda da figura.
fmPicturePositionBelowCenter	10	A figura aparece abaixo da legenda. A legenda é centralizada acima da figura.
fmPicturePositionBelowRight	11	A figura aparece abaixo da legenda. A legenda é alinhada com a borda direita da figura.
fmPicturePositionCenter	12	A figura aparece no centro do controle. A legenda é centralizada horizontal e verticalmente no topo da figura.
Comentários

A figura e a legenda, como uma unidade, estão centralizadas no controle. Se não existir legenda, a localização da figura será relativa ao centro do controle.

Esta propriedade é ignorada se a propriedade Picture não especifica uma figura.


Propriedade PictureSizeMode

Especifica como exibir a figura de segundo plano em um controle, formulário ou página.

Sintaxe

objeto.PictureSizeMode [= fmPictureSizeMode]

A sintaxe da propriedade PictureSizeMode possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
fmPictureSizeMode	Opcional. A medida a tomar se a figura e o formulário ou a página que a contém não tiverem o mesmo tamanho.
Definições

As definições para fmPictureSizeMode são:

Constante	Valor	Descrição
fmPictureSizeModeClip	0	Corta qualquer parte da figura que seja mais larga que o formulário ou página (padrão).
fmPictureSizeModeStretch	1	Estica a figura para preencher o formulário ou página. Esta definição distorce a figura tanto na direção horizontal quanto na vertical.
fmPictureSizeModeZoom	3	Amplia a figura, mas não a distorce, seja na direção horizontal ou na vertical.
Comentários

A definição fmPictureSizeModeClip indica que você deseja mostrar a figura em seu tamanho e escala originais. Se o formulário ou página for menor que a figura, esta definição mostrará apenas a parte da figura que se ajusta dentro do formulário ou página.

As definições fmPictureSizeModeStretch e fmPictureSizeModeZoom ampliam a imagem, mas fmPictureSizeModeStretch causa distorção. A definição fmPictureSizeModeStretch amplia a imagem no sentido horizontal e vertical até que atinja as bordas correspondentes do recipiente ou controle. A definição fmPictureSizeModeZoom amplia a imagem até que ela atinja as bordas horizontal ou vertical do recipiente ou controle. Se a imagem atingir primeiro as bordas horizontais, qualquer distância que reste até as bordas verticais permanecerá vazia. Se ela atingir antes as bordas verticais, qualquer distância que reste até as bordas horizontais permanecerá vazia.


Propriedade PictureTiling

Permite que você coloque uma figura lado a lado em um formulário ou uma página.

Sintaxe

objeto.PictureTiling [= Booleano]

A sintaxe da propriedade PictureTiling possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Booleano	Opcional. Se uma figura é repetida por todo o segundo plano.
Definições

As definições para Booleano são:

Valor	Descrição
True	A figura é colocada lado a lado por todo o segundo plano.
False	A figura não é colocada lado a lado por todo o segundo plano (padrão).
Comentários

Se uma figura for menor que o formulário ou página que a contém, você poderá colocá-la lado a lado até cobrir todo o formulário ou toda a página.

O padrão lado a lado depende da definição atual das propriedades PictureAlignment e PictureSizeMode. Por exemplo, se PictureAlignment for definida como fmPictureAlignmentTopLeft, o padrão lado a lado começará na região superior esquerda e repetirá a figura horizontalmente ao longo do formulário ou página e por toda a altura do formulário ou página. Se PictureSizeMode for definida como fmPictureSizeModeClip, o padrão lado a lado cortará a última cópia da figura se ela não se ajustar inteiramente no formulário ou página.


Propriedade ProportionalThumb

Especifica se o tamanho da caixa de rolagem é proporcional à região de rolagem ou se é fixo.

Sintaxe

objeto.ProportionalThumb [= Booleano]

A sintaxe da propriedade ProportionalThumb possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Booleano	Opcional. Se a caixa de rolagem é proporcional ou fixa.
Definições

As definições para Booleano são:

Valor	Descrição
True	A caixa de rolagem é proporcional em tamanho à região de rolagem (padrão).
False	A caixa de rolagem tem um tamanho fixo.
Comentários

O tamanho de uma caixa de rolagem proporcional representa graficamente a porcentagem do objeto que é visível na janela. Por exemplo, se 75% de um objeto estiver visível, a caixa de rolagem cobrirá três quartos da região de rolagem na barra de rolagem.

Se a caixa de rolagem tem um tamanho fixo, o sistema determina seu tamanho com base na altura e largura da barra de rolagem.


Propriedade RowSource

Especifica a origem que fornece uma lista para um ComboBox ou ListBox.

Sintaxe

objeto.RowSource [= Seqüência]

A sintaxe da propriedade RowSource possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Seqüência	Opcional. A origem da lista para o ComboBox ou ListBox.
Comentários

A propriedade RowSource aceita a série de planilhas do Microsoft Excel.


Propriedade ScrollBars

Especifica se um controle, formulário ou página possui barra de rolagem vertical, horizontal ou ambas.

Sintaxe

objeto.ScrollBars [= fmScrollBars]

A sintaxe da propriedade ScrollBars possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
fmScrollBars	Opcional. Onde as barras de rolagem devem ser exibidas.
Definições

As definições para fmScrollBars são:

Constante	Valor	Descrição
fmScrollBarsNone	0	Não exibe barras de rolagem (padrão).
fmScrollBarsHorizontal	1	Exibe uma barra de rolagem horizontal.
fmScrollBarsVertical	2	Exibe uma barra de rolagem vertical.
fmScrollBarsBoth	3	Exibe tanto uma barra de rolagem horizontal quanto uma vertical.
Comentários

Se a propriedade KeepScrollBarsVisible for True, toda barra de rolagem em um formulário ou página será sempre visível, independentemente de o conteúdo do objeto se ajustar ou não dentro dos limites do objeto.

Se visível, uma barra de rolagem restringe sua caixa de rolagem à região visível de uma barra de rolagem. Ela também modifica a posição de rolagem conforme o necessário para manter visível toda a barra de rolagem. O alcance de uma barra de rolagem se altera quando o valor da propriedade ScrollBars é alterado, o tamanho da rolagem é alterado ou o tamanho visível é alterado.

Se uma barra de rolagem não é visível, então você pode definir sua posição de rolagem com qualquer valor. Valores negativos e valores maiores que o tamanho de rolagem são ambos válidos.

Para um controle de linha única, você pode exibir uma barra de rolagem horizontal utilizando as propriedades ScrollBars e AutoSize. As barras de rolagem são ocultadas ou exibidas de acordo com as seguintes regras:

1.	Quando ScrollBars é definido como fmScrollBarsNone, nenhuma barra de rolagem é exibida.

2.	Quando ScrollBars é definido como fmScrollBarsHorizontal ou fmScrollBarsBoth, o controle exibe uma barra de rolagem horizontal se o texto for mais longo que a região de edição e se o controle tiver espaço suficiente para incluir a barra de rolagem abaixo de sua região de edição.

3.	Quando AutoSize é True, o controle se amplia para acomodar o acréscimo de uma barra de rolagem, a menos que o controle esteja no seu tamanho máximo ou próximo dele.

Para um TextBox de várias linhas, você pode exibir barras de rolagem utilizando as propriedades ScrollBars, WordWrap e AutoSize. As barras de rolagem são ocultadas ou exibidas de acordo com as seguintes regras:

1.	Quando ScrollBars é definido como fmScrollBarsNone, nenhuma barra de rolagem é exibida.

2.	Quando ScrollBars é definido como fmScrollBarsVertical ou fmScrollBarsBoth, o controle exibe uma barra de rolagem vertical se o texto for mais longo do que a região de edição e se o controle tiver espaço suficiente para incluir a barra de rolagem na borda direita de sua região de edição.

3.	Quando WordWrap for True, o controle de várias linhas não exibirá uma barra de rolagem horizontal. A maioria dos controles de várias linhas não utiliza uma barra de rolagem horizontal.

4.	Um controle de várias linhas pode exibir uma barra de rolagem horizontal se as seguintes condições ocorrerem simultaneamente:

•	A região de edição contém uma palavra que é mais longa que a largura da região de edição.

•	O controle tem barras de rolagem horizontal ativadas.

•	O controle tem espaço suficiente para incluir a barra de rolagem abaixo da região de edição.

•	A propriedade WordWrap é definida como False.


Propriedades ScrollHeight e ScrollWidth

Especificam a altura, em pontos, da área total que pode ser visualizada movendo-se as barras de rolagem no controle, formulário ou página.

Sintaxe

objeto.ScrollHeight [= Único]

objeto.ScrollWidth [= Único]

As sintaxes das propriedades ScrollHeight e ScrollWidth possuem as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Único	Opcional. A altura ou largura da região que pode ser rolada.


Propriedades ScrollLeft e ScrollTop

Especificam a distância, em pontos, da borda esquerda ou superior do formulário visível, a partir da borda esquerda ou superior do formulário, página ou controle lógicos.

Sintaxe

objeto.ScrollLeft [= Único]

objeto.ScrollTop [= Único]

As sintaxes das propriedades ScrollLeft e ScrollTop possuem as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Único	Opcional. A distância a partir da borda do formulário.
Comentários

O valor mínimo é zero; o valor máximo é a diferença entre o valor da propriedade ScrollWidth e o valor da propriedade Width do formulário ou da página.


Propriedade Selected

Retorna ou define o estado de seleção dos itens em um ListBox.

Sintaxe

objeto.Selected( índice ) [= Booleano]

A sintaxe da propriedade Selected possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
índice	Obrigatória. Um número inteiro com um intervalo de 0 até um número uma unidade menor que o número de itens na lista.
Booleano	Opcional. Se um item é selecionado.
Definições

As definições para Booleano são:

Valor	Descrição
True	O item é selecionado.
False	O item não é selecionado.
Comentários

A propriedade Selected é útil quando os usuários podem fazer múltiplas seleções. Você pode utilizar esta propriedade para determinar as linhas selecionadas em uma caixa de listagem de várias seleções. Você também pode utilizar esta propriedade para selecionar ou anular a seleção das linhas em uma lista a partir do código.

O valor padrão desta propriedade se baseia no estado atual de seleção do ListBox.

Para caixas de listagem de seleção única, as propriedades Value ou ListIndex são recomendadas para obter e definir a seleção. Neste caso, ListIndex retorna o índice do item selecionado. Contudo, em uma seleção múltipla, ListIndex retorna o índice da linha contida no retângulo do foco, independentemente de a linha estar realmente selecionada.

Quando a propriedade MultiSelect do controle de uma caixa de listagem estiver definida como Nenhum, somente uma linha poderá ter sua propriedade Selected definida como True.

A digitação de um valor que esteja fora do intervalo para o índice não gera uma mensagem de erro, mas também não define uma propriedade para nenhum item na lista.


Propriedade SelectedItem

Retorna o objeto Tab ou Page atualmente selecionado.

Sintaxe

objeto.SelectedItem

A sintaxe da propriedade SelectedItem possui a parte a seguir:

Parte	Descrição
objeto	Obrigatória. Um TabStrip ou MultiPage válido.
Comentários

A propriedade SelectedItem é somente leitura. Utilize SelectedItem para controlar programaticamente o objeto Tab ou Page atualmente selecionado. Por exemplo, você pode utilizar SelectedItem para atribuir valores a propriedades de um objeto Tab ou Page.


Propriedade SelectionMargin

Especifica se o usuário pode selecionar uma linha de texto clicando na região à esquerda do texto.

Sintaxe

objeto.SelectionMargin [= Booleano]

A sintaxe da propriedade SelectionMargin possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Booleano	Opcional. Se clicar na margem seleciona uma linha de texto.
Definições

As definições para Booleano são:

Valor	Descrição
True	Clicar na margem provoca a seleção de texto (padrão).
False	Clicar na margem não provoca a seleção de texto.
Comentários

Quando a propriedade SelectionMargin é True, a margem da seleção ocupa uma estreita faixa ao longo da borda esquerda da região de edição de um controle. Quando definida como False, toda a região de edição pode armazenar texto.

Se a propriedade SelectionMargin estiver definida como True quando um controle for impresso, a margem da seleção também será impressa.


Propriedade SelLength

O número de caracteres selecionado em uma caixa de texto ou na parte texto de uma caixa de combinação.

Sintaxe

objeto.SelLength [= Longo]

A sintaxe da propriedade SelLength possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Longo	Opcional. Uma expressão numérica especificando o número de caracteres selecionados. Para SelLength e SelStart, o intervalo válido de definições é de 0 até o número total de caracteres na área de edição de um ComboBox ou TextBox.
Comentários

A propriedade SelLength é sempre válida, mesmo quando o controle não tem o foco. Definir SelLength com um valor menor que zero gera um erro. Uma tentativa de definir SelLength com um valor maior que o número de caracteres disponíveis em um controle resulta em um valor igual ao número de caracteres no controle.

Observação  Alterar o valor da propriedade SelStart cancela qualquer seleção existente no controle, coloca um ponto de inserção no texto e define SelLength como zero.

O valor padrão, zero, significa que não há nenhum texto atualmente selecionado.


Propriedade SelStart

Indica o ponto inicial do texto selecionado ou o ponto de inserção se não houver texto selecionado.

Sintaxe

objeto.SelStart [= Longo]

A sintaxe da propriedade SelStart possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Longo	Opcional. Uma expressão numérica especificando o ponto inicial do texto selecionado. Para SelLength e SelStart, o intervalo válido de definições é de 0 até o número total de caracteres na área de edição de um ComboBox ou TextBox. O valor padrão é zero.
Comentários

A propriedade SelStart é sempre válida, mesmo quando o controle não tem o foco. Definir SelStart com um valor menor que zero gera um erro. Uma tentativa de definir SelStart com um valor maior que o número de caracteres disponíveis em um controle resulta em um valor igual ao número de caracteres no controle.

Alterar o valor de SelStart cancela qualquer seleção existente no controle, coloca um ponto de inserção no texto e define a propriedade SelLength como zero.


Propriedade SelText

Retorna ou define o texto selecionado de um controle.

Sintaxe

objeto.SelText [= Seqüência]

A sintaxe da propriedade SelText possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Seqüência	Opcional. Uma expressão de seqüência contendo o texto selecionado.
Comentários

Se nenhum caractere for selecionado na região de edição do controle, a propriedade SelText retornará uma seqüência de tamanho nulo. Esta propriedade é válida independentemente de o controle ter ou não o foco.


Propriedade ShowDropButtonWhen

Especifica quando mostrar o botão suspenso de um ComboBox ou TextBox.

Sintaxe

objeto.ShowDropButtonWhen [= fmShowDropButtonWhen]

A sintaxe da propriedade ShowDropButtonWhen possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
fmShowDropButtonWhen	Opcional. As circunstâncias nas quais o botão suspenso ficará visível.
Definições

As definições para fmShowDropButtonWhen são:

Constante	Valor	Descrição
fmShowDropButtonWhenNever	0	Não mostra o botão suspenso sob nenhuma circunstância.
fmShowDropButtonWhenFocus	1	Mostra o botão suspenso quando o controle tem o foco.
fmShowDropButtonWhenAlways	2	Sempre mostra o botão suspenso.
Para um ComboBox, o valor padrão é fmShowDropButtonWhenAlways; para um TextBox, o valor padrão é fmShowDropButtonWhenNever.


Propriedade SmallChange

Especifica a quantidade de movimento que ocorre quando o usuário clica em qualquer uma das setas de rolagem em um ScrollBar ou SpinButton.

Sintaxe

objeto.SmallChange [= Longo]

A sintaxe da propriedade SmallChange possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Longo	Opcional. Um número inteiro que especifica a quantidade de alteração para a propriedade Value.
Comentários

A propriedade SmallChange não tem unidades.

Qualquer número inteiro é uma definição aceitável para esta propriedade. O intervalo de valores recomendado vai de –32.767 a +32.767. O valor padrão é 1.


Propriedade SpecialEffect

Especifica o aspecto visual de um objeto.

Sintaxe

Para Caixa de seleção, Botão de opção, Botão de ativação
objeto.SpecialEffect [= fmButtonEffect]

Para outros controles
objeto.SpecialEffect [= fmSpecialEffect]

A sintaxe da propriedade SpecialEffect possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
fmButtonEffect	Opcional. O aspecto visual desejado para um CheckBox, OptionButton ou ToggleButton.
fmSpecialEffect	Opcional. O aspecto visual desejado de um objeto que não um CheckBox, OptionButton, ou ToggleButton.
Definições

As definições para fmSpecialEffect são:

Constante	Valor	Descrição
fmSpecialEffectFlat	0	O objeto parece plano, sendo diferenciado do formulário circundante por uma borda, uma alteração de cor ou as duas coisas. O padrão para Image e Label, válido para todos os controles.
fmSpecialEffectRaised	1	O objeto tem um realce no topo e à esquerda e uma sombra na base e à direita. Não é válido para caixas de seleção nem para botões de opção.
fmSpecialEffectSunken	2	O objeto tem uma sombra no topo e à esquerda e um realce na base e à direita. O controle e sua borda parecem esculpidos na forma que os contém. O padrão para CheckBox e OptionButton, válido para todos os controles (padrão).
fmSpecialEffectEtched	3	A borda parece esculpida em torno da borda do controle. Não é válido para caixas de seleção nem para botões de opção.
fmSpecialEffectBump	6	O objeto tem uma aresta na base e à direita e parece plano no topo e à esquerda. Não é válido para caixas de seleção nem para botões de opção.
Para um Frame, o valor padrão é Baixo Relevo.

Observe que somente Plano e Baixo Relevo (0 e 2) são valores aceitáveis para CheckBox, OptionButton e ToggleButton. Todos os valores listados são aceitáveis para os outros controles.

Comentários

Você pode utilizar tanto a propriedade SpecialEffect quanto a BorderStyle para especificar a definição de bordas para um controle, mas não ambas. Se você especificar um valor diferente de zero para uma destas propriedades, o sistema definirá o valor da outra propriedade como zero. Por exemplo, se você definir SpecialEffect como fmSpecialEffectRaised, o sistema definirá BorderStyle como zero (fmBorderStyleNone).

Para um Frame, BorderStyle é ignorado se SpecialEffect for fmSpecialEffectFlat.

SpecialEffect utiliza as cores do sistema para definir suas bordas.

Observação   Ainda que a propriedade SpecialEffect exista no ToggleButton, ela está desativada. Você não pode definir nem retornar um valor para esta propriedade no ToggleButton.


Propriedade Style

Para ComboBox, especifica como o usuário pode escolher ou definir o valor do controle. Para MultiPage e TabStrip, identifica o estilo das tabulações no controle.

Sintaxe

Para Caixa de combinação
objeto.Style [= fmStyle]

Para MultiPágina e Faixa de tabulação
objeto.Style [= fmTabStyle]

A sintaxe da propriedade Style possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
fmStyle	Opcional. Especifica como um usuário define o valor de um ComboBox.
fmTabStyle	Opcional. Especifica o estilo da tabulação em uma MultiPage ou TabStrip.
Definições

As definições para fmStyle são:

Constante	Valor	Descrição
fmStyleDropDownCombo	0	O ComboBox se comporta como uma caixa de combinação suspensa. O usuário pode digitar um valor na região de edição ou selecionar um valor da lista suspensa (padrão).
fmStyleDropDownList	2	A ComboBox se comporta como uma caixa de listagem. O usuário deve escolher um valor da lista.
As definições para fmTabStyle são:

Constante	Valor	Descrição
fmTabStyleTabs	0	Exibe tabulações na barra de tabulação (padrão).
fmTabStyleButtons	1	Exibe botões na barra de tabulação.
fmTabStyleNone	2	Não exibe a barra de tabulação.


Propriedades TabFixedHeight e TabFixedWidth

Define ou retorna a altura ou largura fixa das guias, em pontos.

Sintaxe

objeto.TabFixedHeight [= Único]

objeto.TabFixedWidth [= Único]

As sintaxes das propriedades TabFixedHeight e TabFixedWidth possuem as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Único	Opcional. O número de pontos da altura ou largura das guias em um TabStrip ou MultiPage.
Definições

Se o valor for 0, as larguras de guia serão ajustadas automaticamente para que cada guia seja larga o suficiente para acomodar seu conteúdo e cada linha de guias abranger a largura do controle.

Se o valor for maior que 0, todas as guias terão larguras idênticas, conforme especificado por esta propriedade.

Comentários

O tamanho mínimo é 4 pontos.


Propriedade TabIndex

Especifica a posição de um único objeto na ordem de tabulação do formulário.

Sintaxe

objeto.TabIndex [= Inteiro]

A sintaxe da propriedade TabIndex possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Inteiro	Opcional. Um número inteiro de 0 até um número uma unidade menor que o número de controles no formulário que tiverem uma propriedade TabIndex. Atribuir um valor a TabIndex menor que 0 gera um erro. Se você atribuir um valor TabIndex maior que o maior valor de índice, o sistema redefinirá o valor com o máximo valor permitido.
Comentários

O valor de índice do primeiro objeto na ordem de tabulação é zero.


Propriedade TabKeyBehavior

Determina se as tabulações são permitidas na região de edição.

Sintaxe

objeto.TabKeyBehavior [= Booleano]

A sintaxe da propriedade TabKeyBehavior possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Booleano	Opcional. O efeito de se pressionar TAB.
Definições

As definições para Booleano são:

Valor	Descrição
True	Pressionar TAB insere um caractere de tabulação na região de edição.
False	Pressionar TAB move o foco para o próximo objeto na ordem de tabulação (padrão).
Comentários

As propriedades TabKeyBehavior e MultiLine estão intimamente relacionadas. Os valores acima descritos só se aplicam se MultiLine for True. Se MultiLine for False, pressionar TAB sempre move o foco para o próximo controle na ordem de tabulação independentemente do valor de TabKeyBehavior.

O efeito de se pressionar CTRL+TAB também depende do valor de MultiLine. Se MultiLine for True, pressionar CTRL+TAB cria uma nova linha independentemente do valor de TabKeyBehavior. Se MultiLine for False, pressionar CTRL+TAB não tem nenhum efeito.


Propriedade TabOrientation

Especifica a localização das guias em um MultiPage ou TabStrip.

Sintaxe

objeto.TabOrientation [= fmTabOrientation]

A sintaxe da propriedade TabOrientation possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
fmTabOrientation	Opcional. Onde as guias aparecerão.
Definições

As definições para fmTabOrientation são:

Constante	Valor	Descrição
fmTabOrientationTop	0	As guias aparecem no topo do controle (padrão).
FmTabOrientationBottom	1	As guias aparecem na base do controle.
FmTabOrientationLeft	2	As guias aparecem no lado esquerdo do controle.
FmTabOrientationRight	3	As guias aparecem no lado direito do controle.
Comentários

Se você utiliza fontes TrueType, o texto gira quando a propriedade TabOrientation é definida como fmTabOrientationLeft ou fmTabOrientationRight. Se você utiliza fontes em bitmap, o texto não gira.


Propriedade TabStop

Indica se um objeto pode receber o foco quando o usuário tabula até ele.

Sintaxe

objeto.TabStop [= Booleano]

A sintaxe da propriedade TabStop possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Booleano	Opcional. Se o objeto é uma parada de tabulação.
Definições

As definições para Booleano são:

Valor	Descrição
True	Designa o objeto como uma parada de tabulação (padrão).
False	Desvia do objeto quando o usuário está tabulando, embora o objeto ainda retenha seu lugar na ordem real de tabulação, conforme determinado pela propriedade TabIndex.


Propriedade Tag

Armazena informações adicionais sobre um objeto.

Sintaxe

objeto.Tag [= Seqüência]

A sintaxe da propriedade Tag possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Seqüência	Opcional. Uma expressão de seqüência identificando o objeto. O padrão é uma seqüência de comprimento zero ("").
Comentários

Utilize a propriedade Tag para atribuir uma seqüência de identificação a um objeto sem afetar as definições ou atributos de outras propriedades.

Por exemplo, você pode utilizar Tag para verificar a identidade de um formulário ou controle que é passado como uma variável para um procedimento.


Propriedade Text

Retorna ou define o texto em um TextBox. Muda a linha selecionada em um ComboBox ou ListBox.

Sintaxe

objeto.Text [= Seqüência]

A sintaxe da propriedade Text possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Seqüência	Opcional. Uma expressão de seqüência especificando um texto. O valor padrão é uma seqüência de comprimento zero (“”).
Comentários

Para um TextBox, qualquer valor que você atribua à propriedade Text é também atribuído à propriedade Value.

Para um ComboBox, você pode utilizar Text para atualizar o valor do controle. Se o valor de Text corresponder a uma entrada de lista existente, o valor da propriedade ListIndex (o índice da linha atual) é definido como a linha que corresponde a Text. Se o valor de Text não corresponder a uma linha, ListIndex será definido como -1.

Para um ListBox, o valor de Text deve corresponder a uma entrada de lista existente. Especificar um valor que não corresponda a uma entrada de lista existente gera um erro.

Você não pode utilizar Text para alterar o valor de uma entrada em um ComboBox ou ListBox; utilize a propriedade Column ou List para essa finalidade.

A propriedade ForeColor determina a cor do texto.


Propriedade TextAlign

Especifica como o texto é alinhado em um controle.

Sintaxe

objeto.TextAlign [= fmTextAlign]

A sintaxe da propriedade TextAlign possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
fmTextAlign	Opcional. Como um texto é alinhado no controle.
Definições

As definições para fmTextAlign são:

Constante	Valor	Descrição
fmTextAlignLeft	1	Alinha o primeiro caractere do texto exibido com a borda esquerda da área de exibição ou edição do controle (padrão).
fmTextAlignCenter	2	Centraliza o texto na área de exibição ou edição do controle.
fmTextAlignRight	3	Alinha o último caractere do texto exibido com a borda direita da área de exibição ou edição do controle.
Comentários

Para um ComboBox, a propriedade TextAlign afeta somente a região de edição; esta propriedade não tem efeito sobre o alinhamento do texto na lista. Para rótulos autônomos, TextAlign determina o alinhamento da legenda do rótulo.


Propriedade TextColumn

Identifica a coluna em um ComboBox ou ListBox para exibir ao usuário.

Sintaxe

objeto.TextColumn [= Variante]

A sintaxe da propriedade TextColumn possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Variante	Opcional. A coluna a ser exibida.
Definições

Os valores para a propriedade TextColumn variam de –1 até o número de colunas na lista. O valor de TextColumn para a primeira coluna é 1, o valor da segunda coluna é 2 e assim por diante. Definir TextColumn como 0 exibe os valores de ListIndex. Definir TextColumn como –1 exibe a primeira coluna que tem um valor de ColumnWidths maior que 0.

Comentários

Quando o usuário seleciona uma linha de um ComboBox ou ListBox, a coluna referida por TextColumn é armazenada na propriedade Text.Por exemplo, você poderia configurar um ListBox de várias colunas que contenha os nomes de feriados em uma coluna e as datas dos feriados em uma segunda coluna. Para apresentar os nomes de feriados aos usuários, especifique a primeira coluna como TextColumn. Para armazenar as datas dos feriados, especifique a segunda coluna como BoundColumn.

Quando a propriedade Text de um ComboBox é alterada (como quando um usuário digita uma entrada no controle), o novo texto é comparado com a coluna de dados especificada por TextColumn.


Propriedade TextLength

Retorna o tamanho, em caracteres, do texto na região de edição de um TextBox ou ComboBox.

Sintaxe

objeto.TextLength

A sintaxe da propriedade TextLength possui a parte a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Comentários

A propriedade TextLength é somente leitura. Para um TextBox de várias linhas, TextLength inclui caracteres de AL (alimentação de linha) e RC (retorno do carro).


Propriedade TopIndex

Define e retorna o item que aparece na posição mais alta da lista.

Sintaxe

objeto.TopIndex [= Variante]

A sintaxe da propriedade TopIndex possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Variante	Opcional. O número do item de lista que é exibido na posição mais alta. O padrão é 0 ou o primeiro item na lista.
Definições

Retorna o valor –1 se a lista estiver vazia ou não for exibida.


Propriedade TransitionEffect

Especifica o efeito visual a utilizar ao mudar de uma página para outra.

Sintaxe

objeto.TransitionEffect [= fmTransitionEffect]

A sintaxe da propriedade TransitionEffect possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
fmTransitionEffect	Opcional. O efeito de transição que você deseja entre as páginas.
Definições

As definições para fmTransitionEffect são:

Constante	Valor	Descrição
fmTransitionEffectNone	0	Sem efeito especial (padrão).
fmTransitionEffectCoverUp	1	A nova página cobre a página antiga, movendo-se da base para o topo.
fmTransitionEffectCoverRightUp	2	A nova página cobre a página antiga, movendo-se do canto inferior esquerdo para o canto inferior direito.
fmTransitionEffectCoverRight	3	A nova página cobre a página antiga, movendo-se da extremidade esquerda para a direita.
fmTransitionEffectCoverRightDown	4	A nova página cobre a página antiga, movendo-se do canto superior esquerdo para o canto inferior direito.
fmTransitionEffectCoverDown	5	A nova página cobre a página antiga, movendo-se do topo para a base.
fmTransitionEffectCoverLeftDown	6	A nova página cobre a página antiga, movendo-se do canto superior direito para o canto inferior esquerdo.
fmTransitionEffectCoverLeft	7	A nova página cobre a página antiga, movendo-se da direita para a esquerda.
fmTransitionEffectCoverLeftUp	8	A nova página cobre a página antiga, movendo-se do canto inferior direito para o canto superior esquerdo.
fmTransitionEffectPushUp	9	A nova página empurra a página antiga para fora da área de visualização, movendo-se da base para o topo.
fmTransitionEffectPushRight	10	A nova página empurra a página antiga para fora da área de visualização, movendo-se da esquerda para a direita.
fmTransitionEffectPushDown	11	A nova página empurra a página antiga para fora da área de visualização, movendo-se do topo para a base.
fmTransitionEffectPushLeft	12	A nova página empurra a página antiga para fora da área de visualização, movendo-se da direita para a esquerda.
Comentários

Utilize a propriedade TransitionPeriod para especificar a duração de um efeito de transição.


Propriedade TransitionPeriod

Especifica a duração, em milissegundos, de um efeito de transição.

Sintaxe

objeto.TransitionPeriod [= Longo]

A sintaxe da propriedade TransitionPeriod possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Longo	Opcional. Quanto tempo leva para completar a transição de uma página para outra.
Comentários

Qualquer número inteiro de zero a 10.000 é uma definição válida para esta propriedade. Definir a propriedade TransitionPeriod como zero desativa o efeito de transição; definir TransitionPeriod como 10.000 cria uma transição de 10 segundos.


Propriedade TripleState

Determina se um usuário pode especificar, a partir da interface do usuário, o estado Nulo para um CheckBox ou ToggleButton.

Sintaxe

objeto.TripleState [= Booleano]

A sintaxe da propriedade TripleState possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Booleano	Opcional. Se o controle suporta o estado Nulo.
Definições

As definições para Booleano são:

Valor	Descrição
True	O botão pode ser clicado em três estados.
False	O botão suporta somente Verdadeiro e Falso (padrão).
Comentários

Apesar de a propriedade TripleState existir no OptionButton, ela está desativada. Independentemente do valor de TripleState, você não pode definir o controle como Null por meio da interface do usuário.

Quando a propriedade TripleState é True, um usuário pode escolher entre os valores de Null, True e False. O valor nulo é exibido como um botão sombreado.

Quando TripleState é False, o usuário pode escolher entre True ou False.

Um controle definido como Null não inicia o evento Click.

Independentemente da definição de propriedade, o valor Null sempre pode ser atribuído programaticamente a um CheckBox ou ToggleButton, fazendo com que o botão tenha a aparência sombreada.


Propriedade Value

Especifica o estado ou conteúdo de um dado controle.

Sintaxe

objeto.Value [= Variante]

A sintaxe da propriedade Value possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Variante	Opcional. O estado ou conteúdo do controle.
Definições

Controle	Descrição
CheckBox	Um valor inteiro indicando se o item está selecionado.
	Nulo   Indica que o item está em um estado nulo, nem selecionado nem desmarcado.
	–1   Verdadeiro. Indica que o item está selecionado.
	0   Falso. Indica que o item está desmarcado.
OptionButton	Igual a CheckBox.
ToggleButton	Igual a CheckBox.
ScrollBar	Um número inteiro entre os valores especificados para as propriedades Max e Min.
SpinButton	Igual a ScrollBar.
ComboBox, ListBox	O valor na BoundColumn das linhas atualmente selecionadas.
CommandButton	Sempre False.
MultiPage	Um número inteiro indicando a página atualmente ativa.
	Zero (0) indica a primeira página. O valor máximo é um número uma unidade menor que o número de páginas.
TextBox	O texto na região de edição.
Comentários

Para um CommandButton, definir a propriedade Value como True em uma macro ou procedimento inicia o evento Click do botão.

Para um ComboBox, alterar o conteúdo de Value não altera o valor de BoundColumn. Para adicionar ou excluir entradas em um ComboBox, você pode utilizar o método AddItem ou RemoveItem.

Value não pode ser utilizada com uma caixa de listagem de várias seleções.


Propriedade VerticalScrollbarSide

Especifica se uma barra de rolagem vertical aparece no lado direito ou esquerdo de um formulário ou página.

Sintaxe

objeto.VerticalScrollbarSide [= fmVerticalScrollbarSide]

A sintaxe da propriedade VerticalScrollbarSide possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
fmVerticalScrollbarSide	Opcional. Onde a barra de rolagem deve aparecer.
Definições

As definições para fmVerticalScrollbarSide são:

Constante	Valor	Descrição
fmVerticalScrollbarSideRight	0	Coloca a barra de rolagem no lado direito (padrão).
FmVerticalScrollBarSideLeft	1	Coloca a barra de rolagem no lado esquerdo.
Comentários

A propriedade VerticalScrollBarSide é particularmente útil se o formulário tiver que ser utilizado em um ambiente onde a leitura ocorre da direita para a esquerda.


Propriedade Visible

Especifica se um objeto está visível ou oculto.

Sintaxe

objeto.Visible [= Booleano]

A sintaxe da propriedade Visible possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Booleano	Opcional. Se o objeto está visível ou oculto.
Definições

As definições para Booleano são:

Valor	Descrição
True	O objeto está visível (padrão).
False	O objeto está oculto.
Comentários

Utilize a propriedade Visible para controlar o acesso a informações sem exibi-las. Por exemplo, você poderia utilizar o valor de um controle em um formulário oculto como o critério para uma consulta.

Todos os controles são visíveis na fase de projeto.


Propriedade WordWrap

Indica se o conteúdo de um controle quebra automaticamente a linha no final.

Sintaxe

objeto.WordWrap [= Booleano]

A sintaxe da propriedade WordWrap possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Booleano	Opcional. Se o controle se expande para ajustar o texto.
Definições

As definições para Booleano são:

Valor	Descrição
True	O texto quebra a linha (padrão).
False	O texto não quebra a linha.
Comentários

Para controles que suportam a propriedade MultiLine, bem como a propriedade WordWrap, WordWrap é ignorada quando MultiLine é False.


Propriedade Zoom

Especifica em quanto alterar o tamanho de um objeto exibido.

Sintaxe

objeto.Zoom [= Inteiro]

A sintaxe da propriedade Zoom possui as partes a seguir:

Parte	Descrição
objeto	Obrigatória. Um objeto válido.
Inteiro	Opcional. A porcentagem em que é aumentada ou diminuída a imagem exibida.
Comentários

O valor da propriedade Zoom especifica uma porcentagem da ampliação ou redução da imagem em que a exibição de uma imagem deve ser alterada. Valores de 10 a 400 são válidos. O valor especificado é uma percentagem do tamanho original do objeto; assim, uma definição de 400 significa que você deseja ampliar a imagem para quatro vezes o seu tamanho original (400 %), ao passo que uma definição de 10% significa que você deseja reduzir a imagem a um décimo de seu tamanho original (ou 10%).


tecla aceleradora

Um caractere único utilizado como um atalho para selecionar um objeto. Pressionar a tecla ALT e, em seguida, a tecla aceleradora enfoca o objeto e inicializa um ou mais eventos associados ao objeto. O evento ou eventos específicos variam de um objeto para outro. Se o código estiver associado a um evento, é processado quando o evento se inicia. Também denominada aceleradores do teclado, tecla de atalho ou atalho do teclado.


cor de segundo plano

A cor da região do cliente de uma janela vazia ou tela de exibição na qual ocorre a exibição de todos os desenhos e cores.


ligado

Descreve um controle cujo conteúdo está associado a uma determinada fonte de dados, como uma célula ou limite de célula em uma planilha.


identificador de classe (CLSID)

Um identificador único (UUID) que identifica um objeto. Um objeto registra seu CLSID no banco de dados do registro de sistema para que o objeto possa ser carregado e programado por outros aplicativos.


desmarcado

Mudar uma configuração para “desativado” ou remover um valor.


região do cliente

A parte de uma janela onde um aplicativo exibe saída, como texto ou elementos gráficos.


Ident. de contexto

Um número ou cadeia única que corresponde a um objeto específico em um aplicativo. Idents. de contexto são utilizados para criar vínculos entre o aplicativo e os correspondentes tópicos da Ajuda.


grupo de controle

Um conjunto de controles conceitual ou logicamente relacionados. Controles conceitualmente relacionados geralmente são visualizados juntos, mas não necessariamente afetam uns aos outros. Controles que são logicamente relacionados afetam uns aos outros. Por exemplo, configurar um botão em um grupo de botões de opção configura o valor de todos os outros botões no grupo como Falso.


dica de controle

Uma frase curta que descreve um controle, uma Página ou uma Guia. A dica de controle aparece quando o usuário mantém por um curto período de tempo o ponteiro do mouse sobre um controle sem clicar. Uma dica de controle é similar a uma Dica de Ferramenta. O Microsoft Forms fornece Dicas de ferramentas a desenvolvedores na fase de projeto, enquanto os desenvolvedores fornecem dicas de controle a usuários finais na fase de execução.


cursor

Uma peça de software que retorna fileiras de dados ao aplicativo. Um cursor em um conjunto de resultados indica a posição atual no conjunto de resultados.


ciclo

A movimentação dentro de um grupo de objetos em uma ordem definida.


formato dos dados

A estrutura ou aparência de uma unidade de dados, como um arquivo, um registro de banco de dados, uma célula em uma planilha eletrônica ou o texto de um documento em um processador de texto.


fonte de dados

A localização de dados à qual um controle está ligado, como, por exemplo, uma célula em uma planilha. O valor atual da fonte de dados pode ser armazenado na propriedade Valor de um controle. Entretanto, o controle não armazena os dados, apenas exibe as informações que estão armazenadas na fonte de dados.


controle dominante

Uma referência para os comandos Alinhar e Criar mesmo tamanho no menu Formatar. Ao alinhar controles, os controles selecionados são alinhados com o controle dominante. Ao dimensionar controles, as dimensões do controle dominante são atribuídas aos controles selecionados.

O controle dominante é indicado por identificadores de tamanho brancos. Os identificadores de tamanho de outros controles selecionados são pretos.


origem de soltura

O texto ou objeto selecionado que é arrastado em uma operação arrastar-e-soltar.


constante enumerada

Você pode encontrar informações adicionais para um item de dados enumerado na descrição de uma propriedade, método ou evento que utilize a enumeração.


cor do primeiro plano

A cor atualmente selecionada para desenhar ou exibir um texto na tela. Em monitores monocromáticos, a cor do primeiro plano é a cor de um bitmap ou de outro elemento gráfico.


bloco de grade

O espaço entre dois pontos de grade adjacentes.


Editor do Método Input (IME)

Um aplicativo que traduz o que você digita para caracteres de uma linguagem DBCS, como o japonês ou o chinês. À medida que o usuário digita, o IME exibe os possíveis equivalentes. O usuário seleciona a entrada mais adequada.


propriedade herdada

Uma propriedade que adquire as características de uma outra classe.


estado do teclado

Um valor de retorno que identifica quais teclas são pressionadas bem como se os modificadores de teclado SHIFT, CTRL e ALT são pressionados.


controle de recipiente OLE

Um controle do Visual Basic utilizado para vincular e incorporar objetos de outros aplicativos em um aplicativo do Visual Basic.


código de estado OLE

A parte de um número de erros de uma estrutura de dados que retorna informações para condições de erro. A estrutura de dados é definida pela Vinculação e Incorporação de Objetos.


espaço reservado

Um caractere que mascara ou esconde um outro caractere por medidas de segurança. Por exemplo, quando um usuário digita uma senha, um asterisco é exibido na tela para substituir o caractere digitado.


página de propriedades

Um agrupamento de propriedades apresentado como uma página tabulada de uma folha de propriedades.


RGB

Um sistema de valores de cores utilizado para descrever cores como uma mistura de vermelho (R), verde (G) e azul (B). A cor é definida como um conjunto de três inteiros (R,G,B), onde cada inteiro varia de 0 a 255. Um valor 0 indica a falta total de uma cor. Um valor 255 indica a mais alta intensidade de uma cor.


cores do sistema

Cores que são definidas pelo sistema operacional para um tipo específico de monitor e adaptador de vídeo. Cada cor está associada a uma parte específica da interface do usuário, como um título de janela ou um menu.


destino

Um objeto sobre o qual o usuário desloca o objeto que está sendo arrastado.


transparente

Descreve o segundo plano do objeto caso este não estiver visível. Em vez do segundo plano, você verá tudo o que está atrás do objeto, como, por exemplo, uma imagem ou figura utilizada como uma tela de segundo plano em seu aplicativo. Utilize uma propriedade BackStyle para tornar o segundo plano transparente.


desacoplado

Descreve um controle que não está relacionado a uma célula da planilha. Por outro lado, um controle ligado é uma fonte de dados para uma célula da planilha que permite exibir e editar o valor de um controle.


O que é um MultiPage?

Um MultiPage é um controle que contém uma coleção de uma ou mais páginas.

Cada Page de um MultiPage é um formulário que contém seus próprios controles e, como tal, pode possuir um layout exclusivo. Tipicamente, as páginas de um MultiPage têm guias para que o usuário possa selecionar as páginas individuais.

Como padrão, um MultiPage inclui duas páginas, denominadas Página1 e Página2. Cada uma dessas é um objeto Page, e juntas elas representam a coleção Pages do MultiPage. Se você adicionar mais páginas, estas se tornarão parte da mesma coleção Pages.


O que é um TabStrip?

Um TabStrip é um controle que contém uma coleção de uma ou mais guias.

Cada Tab de um TabStrip é um objeto separado que os usuários podem selecionar. Visualmente, um TabStrip também inclui uma área cliente que é compartilhada por todas as guias do TabStrip.

Como padrão, um TabStrip inclui duas páginas, denominadas Guia1 e Guia2. Cada uma dessas é um objeto Tab, e juntas elas representam a coleção Tabs do TabStrip. Se você adicionar mais páginas, estas se tornarão parte da mesma coleção Tabs.


Devo utilizar um MultiPage ou um TabStrip?

Se você utiliza um layout simples para os dados, utilize um TabStrip e mapeie cada conjunto de dados para seu próprio Tab. Se você precisa de vários layouts para os dados, utilize um MultiPage e atribua cada layout a seu próprio Page.

Ao contrário de um Page de um MultiPage, a região cliente de um TabStrip não é um formulário separado, mas sim uma parte do formulário que contém o TabStrip. A borda de uma TabStrip define uma região do formulário que você pode associar às guias. Quando você coloca um controle na região cliente de um TabStrip, está adicionando um controle ao formulário que contém o TabStrip.


Dicas sobre como utilizar caixas de texto

O TextBox é um controle flexível governado pelas seguintes propriedades: Text, MultiLine, WordWrap e AutoSize.

Text contém o texto que é exibido na caixa de texto.

MultiLine controla se a TextBox pode exibir texto como uma única linha ou como múltiplas linhas. Os caracteres de nova linha identificam onde termina uma linha e uma outra começa. Se MultiLine for False, o texto será truncado, ao invés de mudar automaticamente de linha.

WordWrap permite que o TextBox mude automaticamente de linha quando as linhas de texto forem maiores que a largura do TextBox.

Se você não utilizar WordWrap, o TextBox iniciará uma nova linha de texto quando encontrar um caractere de nova linha no texto. Se WordWrap estiver desativado, você poderá ter linhas de texto que não se ajustem completamente ao TextBox. O TextBox exibirá as partes do texto que se ajustarem a sua largura e truncará as partes do texto que não se ajustarem. WordWrap não é aplicável, a não ser que MultiLine seja True.

AutoSize controla se o TextBox será ajustado para exibir todo o texto. Ao utilizar AutoSize com um TextBox, a largura do TextBox diminui ou aumenta de acordo com a quantidade de texto no TextBox e o tamanho da fonte utilizada para exibir o texto.

AutoSize é bastante eficaz nas seguintes situações:

•	Exibição de uma legenda de uma ou mais linhas.

•	Exibição do conteúdo de um TextBox de uma única linha.

•	Exibição do conteúdo de um TextBox de várias linhas que seja somente leitura para o usuário.

Observação   Evite utilizar AutoSize com um TextBox vazio que também utilize as propriedades MultiLine e WordWrap. Quando o usuário insere texto em um TextBox com essas propriedades, o TextBox é automaticamente dimensionado para uma caixa estreita de um caractere de largura e com o comprimento da linha de texto.


Criar uma caixa de listagem padrão

1	Na janela Propriedades, selecione a propriedade ListStyle.

2	Clique na seta suspensa para exibir uma lista de estilos disponíveis.

3	A partir da lista, escolha Plain.


Criar uma caixa de listagem com botões de opção ou caixas de verificação

1	Na janela Propriedades, selecione a propriedade ListStyle.

2	Clique na seta suspensa para exibir uma lista de estilos disponíveis.

3	A partir da lista, escolha Option.

Quando a propriedade ListStyle for definida como Option, a propriedade MultiSelect determinará se as caixas de verificação ou os botões de opção aparecerão na lista. Quando MultiSelect for Single, os botões de opção aparecerão na lista. Quando MultiSelect for Multi ou Extended, as caixas de verificação aparecerão na lista.


Estilos ListBox

Você pode escolher entre dois estilos de apresentação para um ListBox. Cada estilo fornece maneiras diferentes de os usuários selecionarem itens na lista.

Se o estilo for Plain, cada item estará em uma linha separada; o usuário selecionará um item realçando uma ou mais linhas.

Se o estilo for Option, um botão de opção ou uma caixa de verificação aparecerá no início de cada linha. Com esse estilo, o usuário seleciona um item clicando no botão de opção ou na caixa de verificação. As caixas de verificação aparecem somente quando a propriedade MultiSelect é True.


Qual é a diferença entre o DataObject e a Área de transferência?

Tanto o DataObject como a Área de transferência fornecem um meio de mover dados de um lugar para outro. Como desenvolvedor de aplicativos, existem vários pontos importantes que você deve lembrar ao utilizar um DataObject ou a Área de Transferência:

•	Você pode armazenar mais de uma parte dos dados de cada vez, tanto em um DataObject como na Área de Transferência, contanto que cada parte dos dados tenha um formato de dados diferente. Se você armazenar dados com um formato que já esteja sendo utilizado, os novos dados serão salvos, e os antigos, descartados.

•	A Área de Transferência suporta formatos de figura e formatos de texto. Um DataObject, atualmente, suporta apenas formatos de texto.

•	Um DataObject existe somente enquanto o seu aplicativo estiver sendo executado; a Área de Transferência existe enquanto o sistema operacional estiver sendo executado. Isso significa que você pode inserir dados na Área de Transferência e fechar o aplicativo sem perder os dados. O mesmo não se aplica ao DataObject. Se você fechar o aplicativo que colocou os dados em um DataObject, irá perder os dados.

•	Um DataObject é um objeto OLE padrão, ao contrário da Área de Transferência. Isso significa que a Área de Transferência pode suportar operações de movimentação padrão (copiar, recortar e colar), mas não operações de arrastar-e-soltar. Você precisa utilizar o DataObject se quiser que seu aplicativo suporte operações de arrastar-e-soltar.

Dica   Você pode definir os seus próprios nomes de formato de dados ao utilizar o método SetText para mover dados para a Área de Transferência ou para um DataObject. Isso pode ajudar a distinguir o texto movido pelo seu aplicativo do texto movido pelo usuário.


Exibir ou ocultar a Caixa de ferramentas

No menu Exibir, determine se há uma marca de verificação na frente de Caixa de ferramentas. Se a marca de verificação estiver presente, a Caixa de ferramentas estará exibida. Caso contrário, a Caixa de ferramentas estará oculta.

Proceda a uma das seguintes instruções:

•	Para exibir a Caixa de ferramentas, certifique-se de que uma marca de verificação esteja aparecendo na frente de Caixa de ferramentas. Se não estiver, selecione Caixa de ferramentas.

•	Para ocultar a Caixa de ferramentas, certifique-se de que não haja marca de verificação na frente de Caixa de ferramentas. Se houver, selecione Caixa de ferramentas para removê-la.


O que é a Caixa de ferramentas?

A Caixa de ferramentas identifica os diferentes controles que você pode adicionar a um formulário, Frame ou Page.

Você pode personalizar a Caixa de ferramentas de várias maneiras, incluindo as seguintes:

•	Adicionando páginas à Caixa de ferramentas.

•	Movendo controles de uma página para outra.

•	Renomeando páginas.

•	Adicionando outros controles à Caixa de ferramentas, inclusive controles ActiveX.

•	Copiando controles personalizados do formulário para a Caixa de ferramentas.

Por exemplo, os botões OK e Cancelar são casos especiais de um CommandButton. Se você adicionar modelos OK e Cancelar à Caixa de ferramentas, você poderá adicioná-los rapidamente a outros formulários.


Adicionar um controle personalizado à Caixa de ferramentas

1	Insira um controle em seu formulário e personalize-o.

Por exemplo, para criar um botão OK, insira um CommandButton no formulário, defina sua propriedade Caption como OK e sua propriedade Default como True.

3	Selecione o controle personalizado.

4	Arraste o controle para a Caixa de ferramentas.

Observação   Ao arrastar um controle para a Caixa de ferramentas, você transfere somente valores de propriedades. Qualquer código que você tenha escrito para esse controle não é transferido junto com ele. É preciso escrever um novo código para o ícone ou copiar o código do controle do formulário para o controle da Caixa de ferramentas.


Adicionar um controle a um formulário

Utilize um dos métodos a seguir para adicionar um controle de uma Caixa de ferramentas a seu formulário. Você pode, também, utilizar esses métodos para inserir um controle em um Frame, TabStrip, ou MultiPage do formulário.

•	Clique em um controle na Caixa de ferramentas e, em seguida, clique no formulário. O controle aparece em seu tamanho padrão. Você pode, então, arrastar o controle para alterar seu tamanho.

•	Arraste um controle da Caixa de ferramentas para o formulário. O controle aparece em seu tamanho padrão.

•	Clique duas vezes no controle da Caixa de ferramentas e, em seguida, clique no formulário uma vez para cada controle que você deseja criar. Por exemplo, para criar quatro botões de comando, clique duas vezes em CommandButton, na Caixa de ferramentas, e, em seguida, clique quatro vezes no formulário.


Adicionar um controle à Caixa de ferramentas

1	Clique com o botão direito do mouse em qualquer ícone de controle da Caixa de ferramentas ou em uma área vazia de qualquer página da Caixa de ferramentas.

2	A partir do menu de atalho, selecione Controles adicionais.

3	A partir da lista Controles adicionais, selecione os novos controles.

4	Clique em OK.


Excluir um item da Caixa de ferramentas

1	Na Caixa de ferramentas, clique com o botão direito do mouse no ícone do item que você deseja remover.

2	A partir do menu de atalho, selecione Excluir. O comando incluirá o nome do controle selecionado.

Observação   Se você estiver excluindo controles, poderá utilizar Controles adicionais a partir do menu de atalho e desmarcar as caixas de verificação de todos os controles que deseja excluir.


Personalizar um ícone da Caixa de ferramentas

1	Clique com o botão direito do mouse no ícone da Caixa de ferramentas.

2	A partir do menu de atalho, escolha Personalizar.

3	Proceda a uma das seguintes instruções:

•	Para alterar a Descrição de ferramenta, insira o novo texto desta.

•	Para editar o ícone, escolha Editar figura. Em seguida, escolha a cor que você deseja utilizar e escolha o pixel da imagem no qual você deseja aplicar essa cor.

•	Para atribuir um novo bitmap, escolha Carregar figura. Então, identifique o arquivo contendo o bitmap que você deseja utilizar como ícone. Caso tente carregar uma figura que seja maior que um ícone, ocorrerá um erro.


O que é uma Descrição de ferramenta?

Uma Descrição de ferramenta é uma breve descrição, normalmente de apenas algumas palavras, que aparece quando o usuário mantém o ponteiro do mouse por alguns instantes sobre um controle ou uma outra parte da interface do usuário sem clicar. Você pode personalizar Dicas de ferramentas para controles e para a Caixa de ferramentas.

O valor padrão para um novo controle copiado de um formulário para a Caixa de ferramentas é “Novo”, seguido do tipo do controle. Por exemplo, a Descrição de ferramenta padrão para um CommandButton personalizado (como OK) é “Novo CommandButton”. Quando um controle não possui Descrição de ferramenta associada, o valor padrão é “Desconhecido”.

Observação   A Descrição de ferramenta são informações fornecidas pelo Microsoft Forms para desenvolvedores de formulários em modo de criação. Cada controle possui uma propriedade, ControlTipText, que permite aos desenvolvedores de formulários dar uma “Descrição de ferramenta” para os usuários finais quando o aplicativo está sendo executado.


Personalizar uma Descrição de ferramenta na Caixa de ferramentas

1	Selecione o controle na Caixa de ferramentas.

2	Clique com o botão direito do mouse.

3	A partir do menu de atalho, escolha Personalizar. O comando Personalizar incluirá o nome do controle, como "Personalizar rótulo".

4	Insira o novo texto para a Descrição de ferramenta.

5	Clique em OK.


Definir a Descrição de ferramenta para uma página da Caixa de ferramentas

1	Selecione a página da Caixa de ferramentas.

2	Clique com o botão direito do mouse.

3	A partir do menu de atalho, escolha Renomear.

4	Insira o novo texto da Descrição de ferramenta.

5	Clique em OK.


Alterar o nome de uma página da Caixa de ferramentas

1	Clique com o botão direito do mouse na guia da página da Caixa de ferramentas cujo nome você deseja alterar.

2	A partir do menu de atalho, escolha Renomear.

3	No campo Legenda, insira o nome que você deseja utilizar.

4	Clique em OK.


Alterar a ordem das páginas da Caixa de ferramentas

1	Clique com o botão direito do mouse na guia de qualquer página da Caixa de ferramentas.

2	A partir do menu de atalho, escolha Mover.

3	Selecione o nome de uma página que você deseja mover.

4	Escolha Mover para cima ou Mover para baixo até a página ficar na posição apropriada na lista de páginas.

5	Clique em OK.


Criar uma nova página da Caixa de ferramentas

1	Clique com o botão direito do mouse na guia de qualquer página da Caixa de ferramentas. A nova página será inserida após essa página.

2	Escolha Nova página.


Excluir uma página da Caixa de ferramentas

1	Clique com o botão direito do mouse na guia da página da Caixa de ferramentas que você deseja excluir.

2	Escolha Excluir página. Todos os controle da página serão excluídos ao mesmo tempo.


Importar ou exportar uma página da Caixa de ferramentas

1	Clique com o botão direto do mouse na guia de qualquer página da Caixa de ferramentas. Se você importar uma página, ela será inserida após essa página.

2	Proceda a uma das seguintes instruções:

•	Para importar uma página, escolha Importar página. Em seguida, selecione o nome do arquivo da página que você deseja importar.

•	Para exportar uma página, escolha Exportar página. Em seguida, insira um nome para o arquivo que irá armazenar uma cópia da página da Caixa de ferramentas. A exportação de uma página não a remove da Caixa de ferramentas.

1	Clique em OK.


Mover um item para uma outra página da Caixa de ferramentas

1	Selecione um controle de qualquer página da Caixa de ferramentas.

2	Arraste o controle para a guia da nova página. Mantenha o ponteiro do mouse sobre a guia até a página aparecer na frente da Caixa de ferramentas.

3	Arraste o controle para a região principal da página.

Observação   Se a página na qual você deseja inserir o controle não estiver visível, poderá aumentar a largura da Caixa de ferramentas a fim de exibir guias para todas as páginas e, em seguida, arrastar o controle para a página apropriada.


Alterar o tamanho da Caixa de ferramentas

1	Posicione o ponteiro do mouse sobre uma borda ou um canto da Caixa de ferramentas. O ponteiro mudará para uma seta de duas pontas.

2	Quando a seta de duas pontas aparecer, arraste a Caixa de ferramentas para alterar seu tamanho.


Atribuir um tópico de Ajuda personalizado a um controle

Esse procedimento supõe que você tenha criado um arquivo de Ajuda personalizado e o tenha associado ao seu projeto. O procedimento para associar um arquivo de Ajuda a um projeto depende do ambiente de seu projeto.

1	Selecione um controle para o qual você tenha escrito um tópico de Ajuda personalizado.

2	Na janela Propriedades, selecione a propriedade HelpContextID.

3	Insira a identificação de contexto do tópico apropriado de seu arquivo de Ajuda personalizado.


Arquivos de Ajuda personalizados

Como desenvolvedor de aplicativos, você pode criar um arquivo de Ajuda personalizado para fornecer informações sobre como utilizar seu aplicativo de formulário.

Para criar um arquivo de Ajuda personalizado, utilize um produto ou ferramenta que crie arquivos de Ajuda do Windows.

Você pode associar um tópico específico de seu arquivo de Ajuda personalizado a cada controle de seu aplicativo. Quando o seu aplicativo estiver sendo executado, o usuário poderá visualizar o seu tópico de Ajuda selecionando o controle e pressionando F1.


Atribuir uma tecla aceleradora

1	Em modo de criação, selecione o controle no formulário.

2	Na janela Propriedades, selecione a propriedade Accelerator.

3	Insira um único caractere como o valor de Accelerator.

Dica   Utilize um caractere da legenda do controle. Observe que o caractere selecionado fica sublinhado na legenda do controle.


Atribuir uma tecla aceleradora a um Page ou Tab

1	Em modo de criação, selecione um Page ou Tab individual. Certifique-se de selecionar o Page ou Tab, e não o MultiPage ou TabStrip associado. Quando um Page ou Tab está selecionado, um retângulo aparece ao redor da legenda do Page ou Tab.

2	Clique com o botão direito do mouse no Page ou Tab selecionado.

3	A partir do menu de atalho, escolha Renomear.

4	Na caixa de diálogo Renomear, insira um único caractere no campo Tecla aceleradora.

Dica   Utilize um caractere da legenda do controle. Observe que o caractere selecionado fica sublinhado na legenda do controle.


Atribuir uma dica de controle a um Page ou Tab

1	Selecione um Page ou Tab individual.

Certifique-se de selecionar um Page ou Tab individual, e não o MultiPage ou TabStrip correspondente. Quando um Page ou Tab estiver selecionado, aparecerá um retângulo ao redor de sua legenda.

2	Clique com o botão direito do mouse no Page ou Tab selecionado.

3	A partir do menu de atalho, escolha Renomear.

4	No campo ControlTipText, digite a seqüência que você deseja utilizar como dica de controle.

5	Clique em OK.

Dica   Para atribuir uma descrição de controle a um MultiPage ou TabStrip, utilize a propriedade ControlTipText.


Atribuir uma dica de controle a um controle

1	Selecione o controle.

2	Na janela Propriedades, selecione a propriedade ControlTipText.

Também é possível definir o valor de ControlTipText através de código.

3	Insira a seqüência que você deseja utilizar como dica de controle.

Dica   Para atribuir uma dica de controle a um Page ou Tab, utilize o comando Renomear do menu de atalho do Page ou Tab.


O que é uma dica de controle?

Uma dica de controle é uma breve frase que descreve um controle, um Page ou um Tab. A dica de controle aparece quando o usuário mantém o ponteiro do mouse por alguns instantes sobre um controle, sem clicar. Uma dica de controle é muito semelhante a uma Dica de Ferramenta. A diferença é que o Microsoft Forms fornece as Dicas de Ferramentas para os desenvolvedores por ocasião da criação, e os desenvolvedores fornecem as dicas de controle para os usuários finais na fase de execução.

Se você atribuir uma dica de controle a um MultiPage ou TabStrip, as dicas de controles para os objetos Page ou Tab individuais dentro do MultiPage ou TabStrip não serão exibidas.


Atribuir uma legenda

Para atribuir uma legenda a um CheckBox, CommandButton, Frame, Label, OptionButton ou ToggleButton:

1	Exiba a janela Propriedades do controle.

2	Selecione a propriedade Caption.

3	Insira o texto que você deseja utilizar como legenda.

Para atribuir uma legenda a um Page ou Tab:

1	Selecione o MultiPage ou TabStrip que contém o Page ou Tab.

2	Selecione o Page ou Tab individual. Quando o Page ou Tab for selecionado, um retângulo aparecerá ao redor de sua legenda.

3	Clique com o botão direito do mouse no MultiPage ou TabStrip selecionado.

4	A partir do menu de atalho, escolha Renomear.

5	No campo Caption, insira o texto que você deseja utilizar como legenda.

6	Clique em OK.


O que é uma legenda?

Uma legenda é um texto descritivo que aparece diretamente sobre ou ao redor de um controle. Os seguintes controles podem ter legendas: CheckBox, CommandButton, Frame, Label, OptionButton e ToggleButton. Os objetos Page e Tab que são parte do MultiPage e do TabStrip também podem ter legendas.


Definir a ordem de tabulação utilizando a caixa de diálogo Ordem de tabulação

1	Certifique-se de que nenhum controle esteja selecionado.

2	Clique com o botão direito do mouse no formulário, mas não em um controle.

3	A partir do menu de atalho, escolha Ordem de tabulação.

4	Selecione o nome de um controle que você deseje reposicionar na ordem de tabulação.

5	Escolha Mover para cima ou Mover para baixo até que o nome do controle esteja na posição apropriada na ordem de tabulação.


Definir a ordem de tabulação utilizando a propriedade TabIndex

1	Identifique a ordem de tabulação que você deseja utilizar para o formulário.

O índice de tabulação do primeiro controle na ordem de tabulação é 0; o índice de tabulação do segundo é 1, e assim por diante.

3	Selecione um controle na ordem de tabulação.

4	Na janela Propriedades, selecione a propriedade TabIndex.

5	Insira o número apropriado para identificar a posição do controle na ordem de tabulação.


Alterar a ordem das páginas em um MultiPage ou TabStrip

1	Selecione qualquer página do MultiPage ou TabStrip.

2	Clique com o botão direito do mouse na legenda da página.

3	A partir do menu de atalho, escolha Mover.

4	Na caixa de diálogo Mover, selecione o Page que você deseja mover.

5	Escolha Mover para cima ou Mover para baixo para alterar a posição da página.

6	Quando você tiver feito todas as alterações desejadas, clique em OK.

Observação   Você também pode utilizar a propriedade Index para alterar a ordem das páginas através da janela Propriedades. O índice da primeira página é 0, o índice da segunda página é 1, e assim por diante.


Alterar o tamanho do formulário

Durante a criação:

•	Arraste a alça de dimensionamento do formulário até que ele fique com o tamanho desejado.

Na fase de execução:

•	Defina as propriedades Height e Width do formulário com os valores apropriados.


Alterar a posição do formulário

Através da interface do usuário:

•	Arraste a barra de título até que o formulário fique onde você deseja.

Durante a criação:

•	Defina as propriedades Left e Top do formulário com os valores apropriados. Você pode definir essas propriedades através da janela Propriedades ou de código.


Maneiras de proteger informações sigilosas

Muitos aplicativos utilizam dados que somente devem estar disponíveis para determinados usuários. Aqui estão algumas sugestões que você pode utilizar para proteger informações sigilosas no Microsoft Forms:

•	Escreva código que torne um controle (e seus dados) invisível para usuários não-autorizados. A propriedade Visible torna um controle visível ou invisível. Para obter maiores informações sobre Visible, clique em [image].

•	Escreva código que defina o primeiro plano e o segundo plano do controle com a mesma cor quando usuários não-autorizados executarem o aplicativo. Isso oculta as informações para usuários não-autorizados. As propriedades ForeColor e BackColor determinam a cor de primeiro plano e a cor de segundo plano. Para obter informações sobre ForeColor, clique em [image]. Para obter informações sobre BackColor, clique em [image].

•	Desative o controle quando usuários não-autorizados executarem o aplicativo. A propriedade Enabled determina quando um controle está desativado. Para obter informações sobre Enabled, clique em [image].

•	Requisite uma senha para acesso ao aplicativo ou a um controle específico. Você pode utilizar espaços reservados conforme o usuário digita cada caractere. A propriedade PasswordChar define os caracteres marcadores. Para obter informações sobre PasswordChar, clique em [image].

Observação   A utilização de senhas ou de qualquer das técnicas listadas pode melhorar a segurança de seu aplicativo, mas não garante que o acesso não-autorizado aos seus dados será impedido.


Criar um controle que se ajuste automaticamente ao tamanho de seus dados

Na janela Propriedades, defina a propriedade AutoSize como True.


Maneiras de alterar a aparência de um controle

O Microsoft Forms inclui várias propriedades que permitem a você definir a aparência dos controles de seu aplicativo:

•	ForeColor

•	BackColor, BackStyle

•	BorderColor, BorderStyle

•	SpecialEffect

ForeColor determina a cor de primeiro plano. A cor de primeiro plano se aplica a qualquer texto associado ao controle, como a legenda ou o conteúdo do controle.

BackColor e BackStyle se aplicam ao segundo plano do controle. O segundo plano é a área dentro dos limites do controle, como a área ao redor do texto em um controle, mas não a borda do controle. BackColor  determina a cor de segundo plano. BackStyle determina se o segundo plano é transparente. Um segundo plano de controle transparente é útil se o projeto de seu aplicativo inclui uma figura como segundo plano principal e você deseja ver essa figura através do controle.

BorderColor, BorderStyle e SpecialEffect se aplicam à borda do controle. Você pode utilizar BorderStyle ou SpecialEffect para escolher um tipo de borda. Apenas uma dessas duas propriedades pode ser utilizada de cada vez. Quando você atribui um valor a uma dessas propriedades, o sistema define a outra propriedade como None. SpecialEffect permite que você escolha um dentre vários estilos de borda, mas somente permite utilizar cores do sistema para a borda. BorderStyle suporta apenas um estilo de borda, mas permite escolher escolha qualquer cor que seja uma definição válida para BorderColor. BorderColor especifica a cor da borda do controle, sendo válida somente quando você utiliza BorderStyle para criar a borda.


Coisas que você pode fazer com uma figura em um controle Image

Um controle Image não é uma figura propriamente, mas contém um figura que se encontra armazenada em um arquivo separado. Você não pode editar a figura com as propriedades de Image, mas pode utilizá-las para especificar o modo como a figura aparece no Image.

Uma aplicação interessante de Image é que você pode utilizá-la como uma figura de segundo plano para o seu aplicativo. Para fazê-lo, torne o Image do mesmo tamanho do formulário. Em seguida, você pode colocar outros controles por cima do segundo plano.


Alinhar texto em um controle

1	Na janela Propriedades, escolha a propriedade TextAlign.

2	Clique na seta suspensa próxima ao valor da propriedade para exibir uma lista de escolhas disponíveis.

3	Escolha uma das seguintes opções:

•	Esquerda—para alinhar o texto com a borda esquerda do controle.

•	Direita—para alinhar o texto com a borda direita do controle.

•	Centro—para centralizar o texto em relação ao comprimento do controle.

TextAlign está disponível para um ComboBox, Label e TextBox.


Exibir ou ocultar a grade

1	A partir do menu Ferramentas, escolha Opções.

2	Selecione a guia da folha Geral.

3	Proceda a uma das seguintes instruções:

•	Para exibir a grade, marque a caixa Exibir grade.

•	Para ocultar a grade, desmarque a caixa Exibir grade.

1	Clique em OK.


Ajustar tamanho na grade

1	Selecione o controle.

2	A partir do menu Formatar, escolha Ajustar tamanho na grade.

O Microsoft Forms ajustará o tamanho do controle selecionado para que cada canto seja alinhado com um ponto da grade.


Ajustar para encaixar

1	Selecione o controle.

2	A partir do menu Formatar, escolha Ajustar para encaixar.

O Microsoft Forms define o tamanho do controle para que ele seja grande o suficiente para exibir sua figura e qualquer texto atribuído à propriedade Caption ou Text.


Tornar igual o tamanho dos controles

1	Selecione todos os controles que você deseja que tenham o mesmo tamanho.

2	Selecione o controle dominante.

3	A partir do menu Formatar, escolha Tornar tamanho igual.

4	A partir do menu em cascata, escolha uma das seguintes opções:

•	Largura—para que todos os controles selecionados tenham a mesma largura que o controle dominante.

•	Altura—para que todos os controles selecionados tenham a mesma altura que o controle dominante.

•	Ambas—para que todos os controles selecionados tenham a mesma largura e a mesma altura que o controle dominante.


Alinhar controles

1	Selecione os controles a serem alinhados.

2	Selecione o controle dominante.

3	A partir do menu Formatar, escolha Alinhar.

4	A partir do menu em cascata, escolha uma das opções a seguir para alinhar a parte especificada de cada controle selecionado com a mesma parte do controle dominante:

•	Esquerdas—para alinhar a borda esquerda.

•	Centros—para alinhar o centro de cada controle. Isso significa que uma linha vertical desenhada no centro do controle dominante passaria pelo centro de cada controle selecionado.

•	Direitas—para alinhar a borda direita.

•	Superiores—para alinhar a parte superior.

•	Meios—para alinhar o centro de cada controle. Isso significa que uma linha horizontal desenhada no centro do controle dominante também passaria pelo centro de cada controle selecionado.

•	Inferiores—para alinhar a parte inferior.

•	À grade—para alinhar o canto superior esquerdo de cada controle selecionado com o seu ponto da grade mais próximo. Observe que essa opção não se baseia na posição do controle dominante.

Observação   Cada comando do menu possui uma pequena figura que mostra como os controles serão alinhados.


Ajustar o espaçamento horizontal e vertical entre os controles

1	Selecione os controles onde você deseja ajustar o espaçamento.

2	A partir do menu Formatar, escolha Espaçamento horizontal ou Espaçamento vertical.

3	A partir do menu em cascata, escolha uma das seguintes opções:

•	Tornar igual—para tornar os espaços horizontal e vertical entre os controles do mesmo tamanho. A quantidade de espaço horizontal e vertical irá variar dependendo da área disponível para exibir os controles e a largura combinada de todos os controles.

•	Aumentar—para aumentar o espaço entre os controles em um bloco de grade.

•	Diminuir—para diminuir o espaço entre os controles em um bloco de grade.

•	Remover—para remover o espaço entre os controles. Os controles não se sobrepõem, mas ficam imediatamente adjacentes uns aos outros.


Organizar botões

1	Selecione os controles CommandButton a serem organizados.

2	A partir do menu Formatar, escolha Organizar botões.

3	A partir do menu em cascata, escolha uma das seguintes opções:

•	Inferior—para colocar os botões em uma linha começando pelo canto inferior esquerdo do formulário e alinhar as partes inferiores de todos os botões.

•	Direita—para colocar os botões em uma coluna começando pelo canto superior direito do formulário e alinhar as bordas direitas de todos os botões.

Depois de organizar os botões, utilize tanto Espaçamento horizontal quanto Espaçamento vertical no menu Formatar para ajustar o espaçamento entre os botões.

Dica   Selecione um tamanho de grade pequeno antes de escolher esse comando para posicionar os botões próximos à parte inferior ou direita do formulário. A alteração do tamanho da grade depois de os botões estarem posicionados não alterará a posição destes.


Centralizar controles em um formulário

1	Selecione os controles ou grupos a serem centralizados.

2	A partir do menu Formatar, escolha Centralizar no formulário.

3	A partir do menu em cascata, escolha uma das seguintes opções:

•	Horizontalmente

•	Verticalmente


Coisas que você pode fazer com grupos de controles

Um grupo consiste em dois ou mais controles em um formulário, que você trata como uma unidade. Você pode incluir quaisquer controles do formulário em um grupo. Um vez que os controles pertencem a um grupo, você pode trabalhar com o grupo inteiro ou pode selecionar um único objeto.

O Microsoft Forms fornece muitas maneiras de se trabalhar com os grupos e controles de um grupo. Depois de selecionar um grupo, você pode:

•	Dimensionar todos os controles do grupo ao mesmo tempo. Para obter maiores informações, clique em [image].

•	Dividir o grupo para que cada controle se torne independente dos outros. Para obter maiores informações, clique em [image].

•	Exibir o menu de atalho de um grupo, o qual fornece acesso rápido aos comandos que afetam o grupo. Para obter maiores informações, clique em [image].

•	Selecionar um único controle dentro do grupo sem dividi-lo, o que permite que você altere definições de propriedades desse controle sem afetar qualquer outro controle do grupo. Para obter maiores informações, clique em [image].


Transparência no Microsoft Forms

O Microsoft Forms suporta transparência em duas áreas: o segundo plano de certos controles e nos bitmaps utilizados em certos controles.

A propriedade BackStyle determina se um controle está transparente. Um controle transparente permite que você visualize o que há por trás dele no formulário. Isso é útil quando você possui um segundo plano decorativo no formulário e deseja minimizar o quanto desse segundo plano está oculto por trás dos controles. Para obter maiores informações sobre como tornar um controle transparente, clique em [image].

Você pode exibir um bitmap em muitos controles do Microsoft Forms. Certos controles suportam bitmaps transparentes, ou seja, bitmaps nos quais uma ou mais cores de segundo plano seja transparente. A transparência dos bitmaps não é controlada por nenhuma propriedade de controle; ela é controlada pela cor do pixel inferior esquerdo da imagem. O Microsoft Forms não fornece uma maneira de se editar um bitmap e torná-lo transparente; é preciso utilizar um editor de figuras para fazê-lo.

No Microsoft Forms, os bitmaps são sempre transparentes nos seguintes controles:

•	CheckBox

•	CommandButton

•	Label

•	OptionButton

•	ToggleButton

As figuras transparentes possuem, algumas vezes, uma aparência confusa. Se você não gostar dessa aparência, exiba a figura em um controle que suporte imagens opacas.

Se você utilizar um bitmap transparente em um controle que não suporte bitmaps transparentes, o bitmap será exibido corretamente, mas você não poderá ver o que há por trás dele. No Microsoft Forms, os seguintes controles não suportam bitmaps transparentes:

•	A janela do formulário (UserForm)

•	Frame

•	Image

•	MultiPage


O que é um menu de atalho?

Um menu de atalho é um menu que aparece quando você clica com o botão direito do mouse em um objeto. No Microsoft Forms, os seguintes objetos têm menus de atalho:

•	A Caixa de ferramentas, cada página da Caixa de ferramentas e cada um item de uma página da Caixa de ferramentas.

•	Controles individuais em um formulário.

•	Grupos de controles (grupos criados com o comando Agrupar).

•	Recipientes (como UserForm).

•	Objetos Page individuais em um MultiPage.

•	Objetos Tab individuais em um TabStrip.

•	Múltiplos controles que não estejam em um grupo.

Os comandos em um menu de atalho podem variar dependendo do objeto que você selecionar. Por exemplo, se você selecionar vários controles que não estejam em um grupo, o menu de atalho incluirá o comando Agrupar, enquanto que o menu de atalho para a Caixa de ferramentas não o incluirá.

Para exibir o menu de atalho para um controle ou recipiente, clique com o botão direito do mouse no objeto.

Para obter maiores informações sobre como exibir o menu de atalho para um MultiPage ou Page, clique em [image].

Para obter maiores informações sobre como exibir o menu de atalho para um TabStrip ou Tab, clique em [image].


Maneiras de colocar dados em um ListBox ou ComboBox

Em um ListBox ou ComboBox com uma única coluna, o método AddItem fornece uma técnica eficaz para acréscimo de uma entrada individual na lista. Em um ListBox ou ComboBox de várias colunas, porém as propriedades List e Column fornecem uma outra técnica; você pode carregar a lista a partir de uma matriz bidimensional.


Coisas que você pode fazer com um ListBox ou ComboBox de várias colunas

Para controlar as larguras das colunas de um ListBox ou ComboBox de várias colunas, você pode especificar a largura, em pontos, para todas as colunas na propriedade ColumnWidths. Especificar zero para uma coluna específica ocultará a exibição dessa coluna de informações.

Se você deseja ocultar do usuário todas as colunas de um ListBox ou ComboBox, exceto uma, pode identificar a coluna de informações a ser exibida utilizando a propriedade TextColumn.

Da mesma forma, você pode controlar qual coluna de valores será utilizada para o controle quando o usuário fizer uma seleção ao especificar o número da coluna na propriedade BoundColumn.


Adicionar itens a uma lista utilizando a propriedade List ou Column

1	Crie um ListBox ou ComboBox de várias colunas.

2	Crie uma matriz bidimensional contendo os itens que você deseja colocar na lista.

3	Defina a propriedade ColumnCount do ListBox ou ComboBox para coincidir com o número de entradas na lista.

4	Proceda a uma das seguintes instruções:

•	Atribua a matriz como o valor da propriedade List. O conteúdo de ListBox coincidirá exatamente com o conteúdo da matriz.

•	Atribua a matriz como o valor da propriedade Column. Column transpõe linhas e colunas, portanto cada linha de ListBox coincide com a correspondente coluna da matriz.


Exibir ou ocultar Dicas de ferramentas

1	A partir do menu Ferramentas, escolha Opções.

2	Selecione a guia da folha Geral.

3	Proceda a uma das seguintes instruções:

•	Para exibir Dicas de ferramentas, marque a caixa  Exibir Dicas de ferramentas.

•	Para ocultar as Dicas de ferramentas, desmarque a caixa Exibir Dicas de ferramentas.


Modelo de objetos para o Microsoft Forms

O modelo de objetos do Microsoft Forms inclui os seguintes tipos de objeto:

•	Controles

•	Coleções

•	Objetos (dentro das coleções)

Cada elemento do modelo de objetos do Microsoft Forms possui alguma combinação de propriedades, eventos e métodos que você pode utilizar para fazer seu aplicativo funcionar da maneira desejada.

O Microsoft Forms possui três coleções:

Coleção Controls—contém todos os controles de um formulário, Frame ou Page.

Coleção Pages—contém todos os objetos Page de um MultiPage. Cada MultiPage possui sua própria coleção Pages distinta.

Coleção Tabs—contém todos os objetos Tab de um TabStrip. Cada TabStrip possui sua própria coleção Tabs distinta.


Maneiras de criar um grupo de opção

Como padrão, todos os controles OptionButton em um recipiente (tal como um formulário, um MultiPage ou um Frame) são parte de um único grupo de opção. Isso significa que, ao selecionar um dos botões, todos os outros botões de opção do formulário são automaticamente definidos como False.

Se você desejar mais de um grupo de opção no formulário, existem duas maneiras de se criar grupos adicionais:

•	Utilizar a propriedade GroupName para identificar botões relacionados.

•	Colocar botões relacionados em um Frame no formulário.

O primeiro método é mais recomendável que o segundo porque ele reduz o número de controles requeridos no aplicativo. Isso reduz o espaço em disco requerido por seu aplicativo, podendo, também, melhorar o desempenho de seu aplicativo.

Observação   Um TabStrip não é um recipiente. Os botões de opção do TabStrip estão incluídos no grupo de opção do formulário. Você pode utilizar GroupName para criar um grupo de opção a partir de botões de um TabStrip.


Criar um grupo de opção utilizando a propriedade GroupName

1	Coloque todos os controles OptionButton requeridos no formulário. Observe que os botões de opção de um MultiPage ou Frame automaticamente formarão um grupo de opção.

2	Identifique os botões para cada grupo que você deseja criar.

3	Insira um valor para a propriedade Name de cada controle.

4	Para cada botão de um grupo, defina a propriedade GroupName com o mesmo valor.


Maneiras de corresponder entradas de uma lista

O Microsoft Forms fornece três maneiras de corresponder um valor inserido pelo usuário a uma entrada existente na lista de um ListBox ou ComboBox.

•	Nenhum correspondente—não fornece assistência alguma na correspondência de uma entrada digitada pelo usuário a uma entrada da lista.

•	Primeira letra—compara a letra mais recentemente digitada com a primeira letra de cada entrada da lista. A primeira correspondência da lista fica selecionada.

•	Completa—compara a entrada do usuário e tenta encontrar uma correspondência exata com uma entrada da lista.

O recurso de correspondência é redefinido após dois segundos (seis segundos na versão do Extremo Oriente). Por exemplo, se você tiver uma lista dos 26 estados e digitar “AM” rapidamente, encontrará “Amazonas”. Mas se digitar “AM” lentamente, encontrará “Maranhão”, porque a pesquisa automática completa é redefinida entre uma letra e outra.

Se você escolhe a correspondência Completa, é uma boa idéia classificar as entradas da lista alfabeticamente (você pode utilizar a propriedade TextColumn para fazê-lo). Se a lista não estiver classificada por ordem alfabética, a correspondência pode não funcionar corretamente. Por exemplo, se a lista inclui Amazonas, Ceará e Amapá, nessa ordem, “Amazonas” será considerada uma correspondência completa se o usuário digitar “ama”. Na verdade, esse resultado é ambíguo porque existem duas entradas na lista que poderiam coincidir com o que o usuário inseriu. Classificar alfabeticamente elimina essa ambigüidade.


Utilizar a ordem z para dispor controles em camadas

Para colocar um controle à frente ou atrás na ordem z:

1.	Selecione os controles que você deseja reposicionar.

2.	A partir do menu Formatar, escolha Ordem.

3.	A partir do menu em cascata, selecione Bring To Front ou Send To Back.

Para ajustar um controle uma posição na ordem z:

1.	Selecione os controles que você deseja reposicionar.

2.	A partir do menu Formatar, escolha Ordem.

3.	A partir do menu em cascata, selecione Bring Forward ou Send Backward.

Observação   Você não pode Desfazer ou Refazer comandos de camadas, tais como Send To Back ou Bring To Front. Por exemplo, se você selecionar um objeto e clicar em Send Backward, no menu de atalho, não poderá Desfazer ou Refazer essa ação.

As opções de menu Bring To Front, Bring Forward, Send To Back e Send Backward permitem que você altere a ordem z de um controle relativa a outros controles. Se o formulário incluir algum controle ListBox, Frame ou MultiPage, esses controles movem automaticamente para uma posição mais próxima possível do topo da pilha. Por exemplo, aplicar Send Backward a um ListBox, Frame ou MultiPage move o controle sob os outros controles ListBox, Frame ou MultiPage, mas não o moverá sob qualquer outro tipo de controle na pilha. Da mesma forma, aplicar Bring Forward a um outro controle diferente de ListBox, Frame ou MultiPage fará com que o controle seja movido para mais perto do topo da pilha, mas não o moverá sobre qualquer ListBox, Frame ou MultiPage na pilha.

Visualmente, isso significa que se ListBox, Frame ou MultiPage e qualquer outro controle do Microsoft Forms estiverem na mesma posição em um formulário, ListBox, Frame ou MultiPage aparecerão sempre sobre o outro controle. Se ListBox, Frame ou MultiPage estiverem no mesmo lugar que um outro ListBox, Frame ou MultiPage, a ordem z determinará qual controle aparecerá sobre o outro.


Criar um controle transparente

1	Insira o controle básico no formulário.

2	Visualize as propriedades do controle.

3	Defina a propriedade BackStyle como Transparente.

4	Se o controle suportar a propriedade BorderStyle, defina-a como Nenhuma.

Observação   Quando você torna um controle transparente, a cor de segundo plano não é exibida, portanto a propriedade BackColor é ignorada. No entanto, a definição de BackColor não é alterada quando um controle está transparente.


Excluir um bitmap de um controle

Na janela Propriedades:

1	Realce o valor da propriedade Picture (a palavra “bitmap”).

2	Pressione DELETE.

Ou, no código:

•	Insira a seguinte instrução: Object.Picture = LoadPicture(“”)


Atribuir um bitmap a um controle

Na janela Propriedades:

1	Escolha a propriedade Picture.

2	Na caixa de diálogo Picture, insira o nome da figura e sua localização.

Se a figura for maior do que o controle, o Microsoft Forms dimensionará a figura para que o controle caiba, independente de você ter atribuído a figura através da janela Propriedades ou através de código. A propriedade PictureAlignment determina como ela fica alinhada dentro do controle.


Maneiras de alinhar uma figura em um controle

A propriedade Picture atribui um bitmap ou outra figura a um controle. Depois de atribuir a figura ao controle, você pode proceder a qualquer uma das seguintes instruções para alinhar a figura no controle:

•	Utilize a propriedade PictureAlignment para centralizar a figura dentro de Image ou alinhar qualquer canto da figura com o correspondente canto de Image.

•	Utilize a propriedade PictureSizeMode para cortar, esticar ou ampliar a figura dentro de Image. Esticar a figura pode distorcê-la, mas o zoom não.

•	Utilize a propriedade PictureTiling para exibir várias cópias da figura dentro de Image.


Selecionar um tamanho de grade

1	A partir do menu Ferramentas, escolha Opções.

2	Na caixa de diálogo Opções, escolha a página Geral.

3	No grupo Definições de grade do formulário, especifique o tamanho desejado para cada bloco de grade. A especificação de números menores resulta em blocos de grade menores.

Dica   Se você utilizar o comando Organizar botões para posicionar botões de comando em seu aplicativo, tente uma definição de grade menor. Isso permitirá que você posicione os botões mais perto da borda do formulário.


Criar um grupo de controles

1	No formulário, selecione cada controle que você deseja incluir no grupo.

2	A partir do menu Formatar, escolha Grupo.


Dimensionar todos os controles de um grupo

1	Selecione o grupo.

Um retângulo com alças de dimensionamento irá circundar o grupo para indicar que ele está selecionado.

3	Clique em uma das alças de dimensionamento e arraste-a para alterar o tamanho do retângulo.

4	Solte o botão do mouse.

O tamanho de cada controle será alterado proporcionalmente à maneira como você alterou o retângulo ao redor do grupo.


Dividir um grupo de controles

1	Selecione o grupo.

2	A partir do menu Formatar, escolha Desagrupar.


Exibir o menu de atalho de um grupo

1	Selecione o grupo.

2	Clique com o botão direito do mouse em qualquer lugar dentro do retângulo ao redor do grupo.

Dica   Clique em qualquer lugar do grupo, mas não no menu de atalho, para fazer com que o menu de atalho desapareça caso não deseje utilizar nenhum dos comandos do menu.


Selecionar um controle dentro de um grupo

1	Selecione o grupo.

2	Selecione um único controle dentro do grupo. As alças de dimensionamento ao redor do grupo se tornam mais claras, e alças escuras aparecem no controle selecionado.

Você pode alterar o valor das propriedades do controle selecionado. Qualquer alteração que você faça afetará apenas o controle selecionado.

3	Quando você tiver terminado de trabalhar com o controle selecionado, clique em qualquer lugar dentro do grupo, mas não no controle selecionado. O grupo permanecerá selecionado.

Você pode selecionar um outro controle do grupo ou prosseguir com qualquer outra tarefa que deseje efetuar.


Exibir o menu de atalho de um MultiPage ou Page

1	Certifique-se de que o formulário não esteja sendo executado.

2	Proceda a uma das seguintes instruções:

•	Para exibir o menu de atalho de um Page individual, clique com o botão direito do mouse na legenda da página apropriada.

•	Para exibir o menu de atalho do MultiPage inteiro, clique com o botão direito do mouse em qualquer lugar do controle, mas não na legenda de qualquer Page do controle.


Exibir o menu de atalho de um TabStrip ou Tab

1	Certifique-se de que o formulário não esteja sendo executado.

2	Proceda a uma das seguintes instruções:

•	Para exibir o menu de atalho de um Tab individual, selecione a guia apropriada.

Quando a guia estiver selecionada, um retângulo pontilhado aparecerá ao redor de sua legenda.

Clique com o botão direito do mouse na legenda selecionada.

•	Para exibir o menu de atalho da TabStrip, clique com o botão direito do mouse em qualquer lugar do controle, mas não na legenda de algum Tab do controle.


Controles ativos e controles selecionados

Todos os controles possuem um estado ativo e um estado selecionado. Quando um controle se encontra ativo, significa que você está trabalhando com seu conteúdo; quando um controle está selecionado, significa que você está trabalhando com o controle propriamente dito.

A maior parte dos controles é selecionada automaticamente quando você os coloca no formulário. Em modo de criação, as alças de dimensionamento aparecem ao redor da borda do controle quando ele está selecionado. Se você retirar a seleção do controle, pode selecioná-lo novamente clicando uma vez sobre o controle.

Clicar em um controle que esteja selecionado faz com que o controle fique no estado ativo. Nesse estado, você pode editar a legenda do controle diretamente.

Tanto no estado selecionado como no estado ativo, é possível utilizar DEL, CTRL+X e CTRL+C como teclas de atalho para os comandos Excluir, Recortar e Copiar, respectivamente. No estado selecionado, esses comandos estão disponíveis no menu de atalho e irão afetar o controle propriamente dito. No estado ativo, esses comandos irão afetar qualquer texto selecionado no interior do controle; se nenhum texto estiver selecionado, tais comandos não terão efeito. Esses comandos não estão disponíveis no menu de atalho dos controles ativos.


Dicas sobre como selecionar vários controles

Você pode selecionar mais de um controle de três formas:

•	SHIFT+CLICK: o Microsoft Forms cria um retângulo de seleção invisível ao redor dos controles selecionados e coloca alças de dimensionamento em todos os controles dentro desse retângulo.

•	CTRL+CLICK: as alças de dimensionamento aparecem somente nos controles selecionados, não nos controles que estão circundados pelo retângulo. Ocasionalmente, esse método pode selecionar controles adicionais que se encontram próximos ou adjacentes aos controles selecionados. Nesse caso, utilize o ponteiro Select Objects explicado abaixo.

•	Ponteiro Select Objects na Caixa de ferramentas: desenha um retângulo sobre os controles que você deseja selecionar. Todos os controles situados dentro do retângulo ou os que apenas o tocam serão selecionados.

Quando você seleciona vários controles, um dos controles selecionados tornam-se uma referência para os demais controles selecionados e é denominado controle dominante.


Dicas sobre como definir o controle dominante

Você pode definir o controle dominante utilizando uma das formas a seguir ao selecionar vários controles:

•	SHIFT+CLICK: O controle dominante é o primeiro controle que você seleciona utilizando SHIFT+CLICK.

•	CTRL+CLICK: O controle dominante é o último controle que você seleciona utilizando CTRL+CLICK.

•	Ponteiro Select Objects na Caixa de ferramentas: O controle dominante é o mais próximo do ponteiro do mouse quando você começa a desenhar o retângulo sobre os controles que deseja selecionar.

Se você pressionar CTRL+CLICK duas vezes sobre o controle selecionado, esse controle torna-se o controle dominante.


Desfazer e Refazer no Microsoft Forms

O Microsoft Forms suporta vários níveis de comandos Desfazer e Refazer. Isso significa que você pode desfazer uma série de ações, não apenas uma simples ação.

CTRL+Z representa a tecla de atalho para Desfazer; CTRL+Y representa a tecla de atalho para Refazer.

Você não desfazer ou refazer comandos em camada, como Send To Back ou Bring To Front. Por exemplo, se você selecionar um objeto e clicar em Move Backward no menu de atalho, não conseguirá desfazer ou refazer essa ação.


Referências ByVal no Microsoft Forms

A palavra-chave ByVal no Microsoft Forms indica que um argumento é passado como um valor; esse é o significado padrão de ByVal no Visual Basic. Contudo, no Microsoft Forms, você pode utilizar ByVal com um objeto ReturnBoolean, ReturnEffect, ReturnInteger ou ReturnString. Quando você o faz, o valor passado não representa um tipo de dados simples; representa um ponteiro ao objeto.

Quando utilizado com esses objetos, ByVal refere-se ao objeto, não ao método de passar os parâmetros. Cada um dos objetos listados acima possuem uma propriedade Value que você pode definir. Também é possível passar esse valor para uma função ou retirá-lo dela. Como você pode alterar os valores dos membros do objeto, os eventos produzem resultados consistentes com o comportamento de ByRef, muito embora a sintaxe do evento informe que o parâmetro é ByVal.

Atribuir um valor a um argumento associado com ReturnBoolean, ReturnEffect, ReturnInteger ou ReturnString não é diferente de definir o valor de qualquer outro argumento. Por exemplo, se a sintaxe do evento indicar um argumento Cancel utilizado com o objeto ReturnBoolean, a declaração Cancel=True ainda permanece válida, da mesma forma como ocorre com outros tipos de dados.


A caixa de diálogo Renomear

Contém as definições das propriedades Accelerator, Caption e ControlTipText para a página ou guia individual que possui o foco. Contém as definições das propriedades Caption e ToolTipText para a página atual da Caixa de ferramentas. É possível atualizar os valores dessas propriedades.

A tecla aceleradora é uma tecla do teclado que o usuário pressiona simultaneamente com ALT para definir o foco para um Page ou Tab. A legenda é o texto na área da guia de um Page ou Tab ou a página atual da Caixa de ferramentas. ControlTipText é uma breve descrição de um controle que aparece quando o usuário mantém o ponteiro do mouse posicionado sobre o controle sem clicar. ToolTipText é uma breve descrição de um controle que aparece quando o usuário mantém o ponteiro do mouse posicionado sobre a página atual da Caixa de ferramentas sem clicar.

Para definir uma aceleradora para Page ou Tab:

•	Insira um único caractere para Accelerator.

Para renomear Page ou Tab:

•	Insira um novo valor para Caption.

Para definir ControlTipText para Page ou Tab:

•	Insira um novo valor para ControlTipText.

Para definir ToolTipText para a página atual da Caixa de ferramentas:

•	Insira um novo valor para ToolTipText.

Observação   Clique em OK para aplicar os novos valores à página, guia ou página da Caixa de ferramentas.


A caixa de diálogo Ordem das páginas/Ordem das guias

Para alterar a posição de uma página ou guia:

1.	Selecione o nome do Page ou Tab que você deseja mover.

2.	Escolha Mover para cima ou Mover para baixo até que o item selecionado esteja no lugar desejado.

3.	Quando todos os itens estiverem na ordem desejada, clique em OK.


A caixa de diálogo Controles adicionais

1.	Na lista Controles disponíveis, selecione o controle ou controles que você deseja adicionar à Caixa de ferramentas.

2.	Clique em OK.

Dica   Você pode filtrar a lista Controles disponíveis selecionando opções no grupo Exibir.


A caixa de diálogo Personalizar controle

Contém a propriedade ControlTipText e o ícone que representa esse controle na Caixa de ferramentas. Com essa caixa de diálogo, você pode definir ou alterar o ControlTipText associado a esse controle, bem como alterar o ícone que é exibido na Caixa de ferramentas.

Para definir ou editar ControlTipText:

•	Insira um novo valor para ControlTipText.

Para editar o ícone:

1.	Escolha o CommandButton Editar figura.

2.	Utilize o Editor de imagens para alterar o ícone, conforme necessário.

Para carregar um outro ícone:

1.	Escolha o CommandButton Carregar figura.

2.	A partir da caixa de diálogo comum, selecione um arquivo de figura.

3.	Clique em OK para aplicar os novos valores.


Exemplo do método Item

O exemplo a seguir utiliza o método Item para acessar membros individuais das coleções Controls e Pages. O usuário escolhe um botão de opção tanto para as coleções Controls como MultiPage e, em seguida, clica no CommandButton. O nome do controle apropriado é apresentado no Label.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um CommandButton denominado CommandButton1.

•	Um Label denominado Label1.

•	Dois controles OptionButton denominados OptionButton1 e OptionButton2.

•	Um MultiPage denominado MultiPage1.

Dim MyControl As Object

Dim ControlsIndex As Integer

Private Sub CommandButton1_Click()

    If OptionButton1.Value = True Then

        'Processa coleção Controls para UserForm

        Set MyControl = Controls.Item(ControlsIndex)

        Label1.Caption = MyControl.Name

        'Prepara índice para próximo controle em Userform

        ControlsIndex = ControlsIndex + 1

        If ControlsIndex >= Controls.Count Then

            ControlsIndex = 0

        End If

    ElseIf OptionButton2.Value = True Then

        'Processa página atual da coleção Pages

        Set MyControl = MultiPage1.Pages.Item(MultiPage1.Value)

        Label1.Caption = MyControl.Name

    End If

End Sub

Private Sub UserForm_Initialize()

    ControlsIndex = 0

    'TabsIndex = 0

    OptionButton1.Caption = "Coleção Controls"

    OptionButton2.Caption = "Coleção Pages"

    OptionButton1.Value = True

    CommandButton1.Caption = "Obter Nome de Membro"

End Sub


Exemplo da propriedade Object

Suponha que um novo controle tem uma propriedade Top que seja diferente da propriedade Top padrão do Microsoft Forms. Você pode utilizar ambas as propriedades com base na sintaxe:

•	control.Top utiliza a propriedade Top padrão.

•	control.Object.Top utiliza a propriedade Top do controle adicionado.


Exemplo da propriedade TabStop

O exemplo a seguir utiliza a propriedade TabStop para controlar se um usuário pode pressionar TAB para mover o foco para um determinado controle. O usuário pressiona TAB para mover o foco entre os controles do formulário e, em seguida, clica no ToggleButton para alterar a TabStop do CommandButton1. Quando o TabStop é False, o CommandButton1 não recebe o foco utilizando-se TAB.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um CommandButton denominado CommandButton1.

•	Um ToggleButton denominado ToggleButton1.

•	Um ou dois outros controles, tais como OptionButton ou ListBox.

Private Sub CommandButton1_Click()

    MsgBox "CommandButton1 Clicado."

End Sub

Private Sub ToggleButton1_Click()

    If ToggleButton1 = True Then

        CommandButton1.TabStop = True

        ToggleButton1.Caption = "TabStop Ativada"

    Else

        CommandButton1.TabStop = False

        ToggleButton1.Caption = "TabStop Desativada"

    End If

End Sub

Private Sub UserForm_Initialize()

    CommandButton1.Caption = "Exibir Mensagem"

    ToggleButton1.Caption = "TabStop Ativada"

    ToggleButton1.Value = True

    ToggleButton1.Width = 90

End Sub


Exemplo da propriedade TakeFocusOnClick

O exemplo a seguir utiliza a propriedade TakeFocusOnClick para controlar se um CommandButton recebe o foco quando o usuário clica nele. O usuário clica em um controle diferente do CommandButton1 e, em seguida, clica no CommandButton1. Se TakeFocusOnClick for True, CommandButton1 receberá o foco depois de ser clicado. O usuário pode alterar o valor de TakeFocusOnClick clicando no ToggleButton.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um CommandButton denominado CommandButton1.

•	Um ToggleButton denominado ToggleButton1.

•	Um ou dois outros controles, tais como OptionButton ou ListBox.

Private Sub CommandButton1_Click()

    MsgBox "Observe se CommandButton1 recebe o foco."

End Sub

Private Sub ToggleButton1_Click()

    If ToggleButton1 = True Then

        CommandButton1.TakeFocusOnClick = True

        ToggleButton1.Caption = "TakeFocusOnClick Ativada"

    Else

        CommandButton1.TakeFocusOnClick = False

        ToggleButton1.Caption = "TakeFocusOnClick Desativada"

    End If

End Sub

Private Sub UserForm_Initialize()

    CommandButton1.Caption = "Exibir Mensagem"

    ToggleButton1.Caption = "TakeFocusOnClick Ativada"

    ToggleButton1.Value = True

    ToggleButton1.Width = 90

End Sub


Exemplo da propriedade MatchEntry

O exemplo a seguir utiliza a propriedade MatchEntry para demonstrar a correspondência de caracteres que está disponível para ComboBox e ListBox. Nesse exemplo, o usuário pode definir o tipo de correspondência com os controles OptionButton e, em seguida, digitar em ComboBox para especificar um item de sua lista.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Três controles OptionButton denominados de OptionButton1 a OptionButton3.

•	Um ComboBox denominado ComboBox1.

Private Sub OptionButton1_Click()

    ComboBox1.MatchEntry = fmMatchEntryNone

End Sub

Private Sub OptionButton2_Click()

    ComboBox1.MatchEntry = fmMatchEntryFirstLetter

End Sub

Private Sub OptionButton3_Click()

        ComboBox1.MatchEntry = fmMatchEntryComplete

End Sub

Private Sub UserForm_Initialize()

    Dim i As Integer

    For i = 1 To 9

        ComboBox1.AddItem "Opção " & i

    Next i

    ComboBox1.AddItem "Chocólatra"

    OptionButton1.Caption = "Sem correspondência"

    OptionButton1.Value = True

    OptionButton2.Caption = "Correspondência básica"

    OptionButton3.Caption = "Correspondência estendida"

End Sub


Exemplo das propriedades MatchFound e MatchRequired

O exemplo a seguir utiliza as propriedades MatchFound e MatchRequired para demonstrar a correspondência adicional de caracteres do ComboBox. A verificação da correspondência ocorre no evento Change.

Nesse exemplo, o usuário especifica se a parte de texto de um ComboBox deve corresponder a um dos itens listados no ComboBox. O usuário pode especificar se a correspondência é necessária utilizando um CheckBox e, em seguida, digita no ComboBox para especificar um item de sua lista.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um ComboBox denominado ComboBox1.

•	Um CheckBox denominado CheckBox1.

Private Sub CheckBox1_Click()

    If CheckBox1.Value = True Then

        ComboBox1.MatchRequired = True

        MsgBox "Para mover o foco da caixa de combina ção, você deve fazer coincidir uma entrada na lista ou pressionar ESC."

    Else

        ComboBox1.MatchRequired = False

        MsgBox "Para mover o foco da caixa de combinação, basta tabular até um outro controle ou clicá-lo. A correspondência é opcional."

    End If

End Sub

Private Sub ComboBox1_Change()

    If ComboBox1.MatchRequired = True Then

    'O MSForms manipula este caso automaticamente

    Else

        If ComboBox1.MatchFound = True Then

            MsgBox "Correspondência Encontrada; correspondência opcional."

        Else

            MsgBox "Correspondência Não Encontrada; correspondência opcional."

        End If

    End If

End Sub

Private Sub UserForm_Initialize()

Dim i As Integer

For i = 1 To 9

    ComboBox1.AddItem "Opção " & i

Next i

ComboBox1.AddItem "Chocólatra"

CheckBox1.Caption = "MatchRequired"

CheckBox1.Value = True

End Sub


Exemplo das propriedades MultiSelect e Selected

O exemplo a seguir utiliza as propriedades MultiSelect e Selected para demonstrar como o usuário pode selecionar um ou mais itens em um ListBox. O usuário especifica um método de seleção escolhendo um botão de opção e, em seguida, selecionando um ou mais itens no ListBox. O usuário pode exibir os itens selecionados em um segundo ListBox clicando no CommandButton.

Para utilizar este exemplo, copie o código a seguir na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Dois controles ListBox denominados ListBox1 e ListBox2.

•	Um CommandButton denominado CommandButton1.

•	Três controles OptionButton denominados OptionButton1 a OptionButton3.

Dim i As Integer

Private Sub CommandButton1_Click()

    ListBox2.Clear

    For i = 0 To 9

        If ListBox1.Selected(i) = True Then

            ListBox2.AddItem ListBox1.List(i)

        End If

    Next i

End Sub

Private Sub OptionButton1_Click()

    ListBox1.MultiSelect = fmMultiSelectSingle

End Sub

Private Sub OptionButton2_Click()

    ListBox1.MultiSelect = fmMultiSelectMulti

End Sub

Private Sub OptionButton3_Click()

    ListBox1.MultiSelect = fmMultiSelectExtended

End Sub

Private Sub UserForm_Initialize()

    For i = 0 To 9

        ListBox1.AddItem "Escolha " & (ListBox1.ListCount + 1)

    Next i

    OptionButton1.Caption = “Seleção Simples” "

    ListBox1.MultiSelect = fmMultiSelectSingle

    OptionButton1.Value = True

    OptionButton2.Caption = "Seleção Múltipla”

    OptionButton3.Caption = "Seleção Estendida"

    CommandButton1.Caption = "Exibir seleções"

    CommandButton1.AutoSize = True

End Sub


Exemplo da propriedade Style para ComboBox

O exemplo a seguir utiliza a propriedade Style para alterar o efeito da digitação na área de texto de um ComboBox. O usuário escolhe um estilo selecionando um controle OptionButton e, em seguida, digita no ComboBox para selecionar um item. Quando Style é fmStyleDropDownList, o usuário deve escolher um item na lista suspensa. Quando Style é fmStyleDropDownCombo, o usuário pode digitar na área de texto para especificar um item da lista suspensa.

Para utilizar esse exemplo, copie este código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Dois controles OptionButton denominados OptionButton1 e OptionButton2.

•	Um ComboBox denominado ComboBox1.

Private Sub OptionButton1_Click()

    ComboBox1.Style = fmStyleDropDownCombo

End Sub

Private Sub OptionButton2_Click()

    ComboBox1.Style = fmStyleDropDownList

End Sub

Private Sub UserForm_Initialize()

    Dim i As Integer

    For i = 1 To 10

        ComboBox1.AddItem "Escolha " & i

    Next i

    OptionButton1.Caption = "Selecione como caixa de combinação"

    OptionButton1.Value = True

    ComboBox1.Style = fmStyleDropDownCombo

    OptionButton2.Caption = "Selecione como caixa de listagem"

End Sub


Exemplo da propriedade Style Property para MultiPage e TabStrip

O exemplo a seguir utiliza a propriedade Style para especificar a aparência das guias em MultiPage e TabStrip. Esse exemplo demonstra, também, o uso de um Label. O usuário escolhe um estilo selecionando um OptionButton.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um Label denominado Label1.

•	Três controles OptionButton denominados OptionButton1 a OptionButton3.

•	Um MultiPage denominado MultiPage1.

•	Um TabStrip denominado TabStrip1.

•	Qualquer controle dentro da TabStrip.

•	Qualquer controle em cada página da MultiPage.

Private Sub OptionButton1_Click()

    MultiPage1.Style = fmTabStyleTabs

    TabStrip1.Style = fmTabStyleTabs

End Sub

Private Sub OptionButton2_Click()

    'Observe que as bordas da página são invisíveis

    MultiPage1.Style = fmTabStyleButtons

    TabStrip1.Style = fmTabStyleButtons

End Sub

Private Sub OptionButton3_Click()

    'Observe que as bordas de página são invisíveis e

    'que o corpo da página começa onde as guias normalmente aparecem.

    MultiPage1.Style = fmTabStyleNone

    TabStrip1.Style = fmTabStyleNone

End Sub

Private Sub UserForm_Initialize()

    Label1.Caption = "Página/Estilo da Guia"

    OptionButton1.Caption = "Guias"

    OptionButton1.Value = True

    MultiPage1.Style = fmTabStyleTabs

    TabStrip1.Style = fmTabStyleTabs

    OptionButton2.Caption = "Botões"

    OptionButton3.Caption = "Sem Guias nem Botões"

End Sub


Exemplo das propriedades OldLeft, OldTop, OldHeight e OldWidth

O exemplo a seguir utiliza as propriedades OldLeft, OldTop, OldHeight e OldWidth dentro do evento Layout para manter um controle na sua posição e tamanho atuais. O usuário clica no CommandButton denominado Move ComboBox para mover o controle e, em seguida, responde a uma caixa de mensagem. O usuário pode clicar no CommandButton denominado Reset ComboBox para redefinir o controle para uma outra repetição.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Dois controles CommandButton denominados CommandButton1 e CommandButton2.

•	Um ComboBox denominado ComboBox1.

Dim Initialize As Integer

Dim ComboLeft, ComboTop, ComboWidth, ComboHeight As Integer

Private Sub UserForm_Initialize()

    Initialize = 0

    CommandButton1.Caption = "Move ComboBox"

    CommandButton2.Caption = "Reset ComboBox”

    'Informações para redefinir a caixa de combinação

    ComboLeft = ComboBox1.Left

    ComboTop = ComboBox1.Top

    ComboWidth = ComboBox1.Width

    ComboHeight = ComboBox1.Height

End Sub

Private Sub CommandButton1_Click()

        ComboBox1.Move 0, 0, , , True

End Sub

Private Sub UserForm_Layout()

    Dim MyControl As Control

    Dim MsgBoxResult As Integer

    If Initialize = 0 Then   'Suprimir CaixaDeMensagem no evento Layout inicial.

        Initialize = 1

        Exit Sub

    End If

    MsgBoxResult = MsgBox("No evento Layout - Continuar movimentação?", vbYesNo)

    If MsgBoxResult = vbNo Then

        ComboBox1.Move ComboBox1.OldLeft, ComboBox1.OldTop, ComboBox1.OldWidth, ComboBox1.OldHeight

    End If

End Sub

Private Sub CommandButton2_Click()

    ComboBox1.Move ComboLeft, ComboTop, ComboWidth, ComboHeight

    'OldLeft, OldTop, OldWidth e OldHeight não são reconhecidos aqui.

    'A instrução a seguir, se não comentada, produziria um erro em tempo de execução.

    'ComboBox1.Move ComboBox1.OldLeft, ComboBox1.OldTop, ComboBox1.OldWidth, ComboBox1.OldHeight

End Sub


Exemplo das propriedades TabFixedHeight e TabFixedWidth

O exemplo a seguir utiliza as propriedades TabFixedHeight e TabFixedWidth para definir o tamanho das guias utilizadas em MultiPage e TabStrip. O usuário clica nos controles SpinButton para ajustar a altura e a largura das guias dentro de MultiPage e TabStrip.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um MultiPage denominado MultiPage1.

•	Um TabStrip denominado TabStrip1.

•	Um Label denominado Label1 para o controle da largura.

•	Um SpinButton denominado SpinButton1 para o controle da largura.

•	Um TextBox denominado TextBox1 para o controle da largura.

•	Um Label denominado Label2 para o controle da altura.

•	Um SpinButton denominado SpinButton2 para o controle da altura.

•	Um TextBox denominado TextBox2 para o controle da altura.

Private Sub UpdateTabWidth()

    TextBox1.Text = SpinButton1.Value

    TabStrip1.TabFixedWidth = SpinButton1.Value

    MultiPage1.TabFixedWidth = SpinButton1.Value

End Sub

Private Sub UpdateTabHeight()

    TextBox2.Text = SpinButton2.Value

    TabStrip1.TabFixedHeight = SpinButton2.Value

    MultiPage1.TabFixedHeight = SpinButton2.Value

End Sub

Private Sub UserForm_Initialize()

    MultiPage1.Style = fmTabStyleButtons

    Label1.Caption = "Largura da Guia"

    SpinButton1.Min = 0

    SpinButton1.Max = TabStrip1.Width / TabStrip1.Tabs.Count

    SpinButton1.Value = 0

    TextBox1.Locked = True

    UpdateTabWidth

    Label2.Caption = "Altura da Guia"

    SpinButton2.Min = 0

    SpinButton2.Max = TabStrip1.Height

    SpinButton2.Value = 0

    TextBox2.Locked = True

    UpdateTabHeight

End Sub

Private Sub SpinButton1_SpinDown()

    UpdateTabWidth

End Sub

Private Sub SpinButton1_SpinUp()

    UpdateTabWidth

End Sub

Private Sub SpinButton2_SpinDown()

    UpdateTabHeight

End Sub

Private Sub SpinButton2_SpinUp()

    UpdateTabHeight

End Sub


Exemplo da propriedade TabIndex

O exemplo a seguir utiliza a propriedade TabIndex para exibir e definir a ordem de tabulação de cada controle. O usuário pode pressionar TAB para chegar ao próximo controle na ordem de tabulação e para exibir o TabIndex desse controle. O usuário pode, também, clicar em um controle para exibir o seu TabIndex. O usuário pode alterar o TabIndex de um controle especificando um novo valor de índice no TextBox e clicando no CommandButton3. Alterar o TabIndex de um controle atualiza, também, o TabIndex de outros controles no Frame.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um Label denominado Label1.

•	Um TextBox denominado TextBox1.

•	Um Frame denominado Frame1.

•	Um TextBox no Frame denominado TextBox2.

•	Dois controles CommandButton no Frame denominados CommandButton1 e CommandButton2.

•	Um ScrollBar no Frame denominado ScrollBar1.

•	Um CommandButton (fora do Frame) denominado CommandButton3.

Private Sub MoveToFront()

    Dim i, Temp As Integer

    Temp = Frame1.ActiveControl.TabIndex

    For i = 0 To Temp - 1

        Frame1.Controls.Item(i).TabIndex = i + 1

    Next i

    Frame1.ActiveControl.TabIndex = 0

    TextBox1.Text = Frame1.ActiveControl.TabIndex

End Sub

Private Sub CommandButton3_Click()

    Dim i, Temp As Integer

    If IsNumeric(TextBox1.Text) Then

        Temp = Val(TextBox1.Text)

        If Temp >= Frame1.Controls.Count Or Temp < 0 Then

            'Entrada fora de alcance, mova o controle para a dianteira da ordem de tabulação

            MoveToFront

        ElseIf Temp > Frame1.ActiveControl.TabIndex Then

            'Mova a entrada lista abaixo

            For i = Frame1.ActiveControl.TabIndex + 1 To Temp

                Frame1.Controls.Item(i).TabIndex = i - 1

            Next i

            Frame1.ActiveControl.TabIndex = Temp

            TextBox1.Text = Frame1.ActiveControl.TabIndex

        Else

            'Mova entrada lista acima

            For i = Frame1.ActiveControl.TabIndex - 1 To Temp

                Frame1.Controls.Item(i).TabIndex = i + 1

            Next i

            Frame1.ActiveControl.TabIndex = Temp

            TextBox1.Text = Frame1.ActiveControl.TabIndex

        End If

    Else

        'Entrada de texto; mova o controle para a dianteira da ordem de tabulação

        MoveToFront

    End If

End Sub

Private Sub UserForm_Initialize()

    Label1.Caption = "TabIndex"

    Frame1.Controls(0).SetFocus

    TextBox1.Text = Frame1.ActiveControl.TabIndex

    Frame1.Cycle = fmCycleCurrentForm

    CommandButton3.Caption = "Definir ÍndiceDeTabulação"

    CommandButton3.TakeFocusOnClick = False

End Sub

Private Sub TextBox2_Enter()

    TextBox1.Text = Frame1.ActiveControl.TabIndex

End Sub

Private Sub CommandButton1_Enter()

    TextBox1.Text = Frame1.ActiveControl.TabIndex

End Sub

Private Sub CommandButton2_Enter()

    TextBox1.Text = Frame1.ActiveControl.TabIndex

End Sub

Private Sub ScrollBar1_Enter()

    TextBox1.Text = Frame1.ActiveControl.TabIndex

End Sub


Exemplo do evento Layout e da propriedade LayoutEffect

O exemplo a seguir move um controle selecionado em um formulário com o método Move, e utiliza o evento Layout e a propriedade LayoutEffect para identificar o controle que foi movido (e alterou o layout do UserForm). O usuário clica em um controle para movê-lo e, em seguida, clica no CommandButton. Uma caixa de mensagem exibe o nome do controle que está sendo movido.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um TextBox denominado TextBox1.

•	Um ComboBox denominado ComboBox1.

•	Um OptionButton denominado OptionButton1.

•	Um CommandButton denominado CommandButton1.

•	Um ToggleButton denominado ToggleButton1.

Private Sub UserForm_Initialize()

    CommandButton1.Caption = "Mover controle atual"

    CommandButton1.AutoSize = True

    CommandButton1.TakeFocusOnClick = False

    ToggleButton1.Caption = "Utilizar Evento Layout"

    ToggleButton1.Value = True

End Sub

Private Sub CommandButton1_Click()

    If ActiveControl.Name = "Botão de Alternância" Then

        'Mantenha-o estacionário

    Else

        'Mova o controle, utilizando o evento Layout,quando ToggleButton1.Value for True

        ActiveControl.Move 0, 0, , , ToggleButton1.Value

    End If

End Sub

Private Sub UserForm_Layout()

    Dim MyControl As Control

    MsgBox "No Evento Layout"

    'Descubra o controle que está em movimento.

    For Each MyControl In Controls

        If MyControl.LayoutEffect = fmLayoutEffectInitiate Then

            MsgBox MyControl.Name & " está sendo movido."

            Exit For

        End If

    Next

End Sub

Private Sub ToggleButton1_Click()

    If ToggleButton1.Value = True Then

        ToggleButton1.Caption = "Utilizar Evento Layout"

    Else

        ToggleButton1.Caption = "Sem Evento Layout"

    End If

End Sub


Exemplo da propriedade Tag

O exemplo a seguir utiliza a propriedade Tag para armazenar informações adicionais sobre cada controle no UserForm. O usuário clica em um controle e, em seguida, clica no CommandButton. O conteúdo de Tag no controle apropriado é apresentado no TextBox.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um TextBox denominado TextBox1.

•	Um CommandButton denominado CommandButton1.

•	Um ScrollBar denominado ScrollBar1.

•	Um ComboBox denominado ComboBox1.

•	Um MultiPage denominado MultiPage1.

Private Sub CommandButton1_Click()

    TextBox1.Text = ActiveControl.Tag

End Sub

Private Sub UserForm_Initialize()

    TextBox1.Locked = True

    TextBox1.Tag = "Exibir área para propriedades Tag."

    TextBox1.AutoSize = True

    CommandButton1.Caption = "Exibir Guia do Controle Atual."

    CommandButton1.AutoSize = True

    CommandButton1.WordWrap = True

    CommandButton1.TakeFocusOnClick = False

    CommandButton1.Tag = "Exibir guia de controle que tenha o foco."

    ComboBox1.Style = fmStyleDropDownList

    ComboBox1.Tag = "O estilo da caixa de combinação é o de uma caixa de listagem."

    ScrollBar1.Max = 100

    ScrollBar1.Min = -273

    ScrollBar1.Tag = "Max = " & ScrollBar1.Max & " , Min = " & ScrollBar1.Min

    MultiPage1.Pages.Add

    MultiPage1.Pages.Add

    MultiPage1.Tag = "Esta MultiPage tem " & MultiPage1.Pages.Count & " páginas."

End Sub


Exemplo da propriedade TopIndex

O exemplo a seguir identifica o item superior exibido em um ListBox e o item que tem o foco dentro do ListBox. Esse exemplo utiliza a propriedade TopIndex para identificar o item exibido na parte superior do ListBox e a propriedade ListIndex para identificar o item que tem o foco. O usuário seleciona um item no ListBox. Os valores de TopIndex e ListIndex exibidos são atualizados quando o usuário seleciona um item ou quando o usuário clica no CommandButton.

Para utilizar esse exemplo, copie este código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um Label denominado Label1.

•	Um TextBox denominado TextBox1.

•	Um Label denominado Label2.

•	Um TextBox denominado TextBox2.

•	Um CommandButton denominado CommandButton1.

•	Um ListBox denominado ListBox1.

Private Sub CommandButton1_Click()

    ListBox1.TopIndex = ListBox1.ListIndex

    TextBox1.Text = ListBox1.TopIndex

    TextBox2.Text = ListBox1.ListIndex

End Sub

Private Sub ListBox1_Change()

    TextBox1.Text = ListBox1.TopIndex

    TextBox2.Text = ListBox1.ListIndex

End Sub

Private Sub UserForm_Initialize()

    Dim i As Integer

    For i = 0 To 24

        ListBox1.AddItem "Opção " & (i + 1)

    Next i

    ListBox1.Height = 66

    CommandButton1.Caption = "Mover para o topo da lista"

    CommandButton1.AutoSize = True

    CommandButton1.TakeFocusOnClick = False

    Label1.Caption = "Índice do item superior"

    TextBox1.Text = ListBox1.TopIndex

    Label2. Caption = "Índice do item atual"

    Label2.AutoSize = True

    Label2.WordWrap = False

    TextBox2.Text = ListBox1.ListIndex

End Sub


Exemplo da propriedade TripleState

O exemplo a seguir utiliza a propriedade TripleState para permitir que Null seja um valor válido de um CheckBox e de um ToggleButton. O usuário controla o valor de TripleState através do ToggleButton2. O usuário pode definir o valor de um CheckBox ou ToggleButton com base no valor de TripleState.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um CheckBox denominado CheckBox1.

•	Um ToggleButton denominado ToggleButton1.

•	Um ToggleButton denominado ToggleButton2.

Private Sub UserForm_Initialize()

    CheckBox1.Caption = "O Valor é Verdadeiro"

    CheckBox1.Value = True

    CheckBox1.TripleState = False

    ToggleButton1.Caption = "O Valor é Verdadeiro"

    ToggleButton1.Value = True

    ToggleButton1.TripleState = False

    ToggleButton2.Value = False

    ToggleButton2.Caption = "Estado Triplo Desativado"

End Sub

Private Sub ToggleButton2_Click()

    If ToggleButton2.Value = True Then

        ToggleButton2.Caption = "Estado Triplo Ativado"

        CheckBox1.TripleState = True

        ToggleButton1.TripleState = True

    Else

        ToggleButton2.Caption = "Estado Triplo Desativado"

        CheckBox1.TripleState = False

        ToggleButton1.TripleState = False

    End If

End Sub

Private Sub CheckBox1_Change()

    If IsNull(CheckBox1.Value) Then

        CheckBox1.Caption = "O Valor é Nulo"

    ElseIf CheckBox1.Value = False Then

        CheckBox1.Caption = "O Valor é Falso"

    ElseIf CheckBox1.Value = True Then

        CheckBox1.Caption = "O Valor é Verdadeiro"

    End If

End Sub

Private Sub ToggleButton1_Change()

    If IsNull(ToggleButton1.Value) Then

        ToggleButton1.Caption = "O Valor é Nulo"

    ElseIf ToggleButton1.Value = False Then

        ToggleButton1.Caption = "O Valor é Falso"

    ElseIf ToggleButton1.Value = True Then

        ToggleButton1.Caption = "O Valor é Verdadeiro"

    End If

End Sub


Exemplo da propriedade Value

O exemplo a seguir demonstra os valores que os diferentes tipos de controles podem ter exibindo a propriedade Value de um controle selecionado. O usuário escolhe um controle pressionando TAB ou clicando no controle. Dependendo do tipo de controle, o usuário pode, também, especificar um valor, digitando-o na área de texto do controle, clicando uma ou mais vezes no controle ou selecionando um item, página ou guia dentro dele. O usuário pode exibir o valor do controle selecionado clicando no CommandButton apropriadamente denominado.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um CommandButton denominado CommandButton1.

•	Um TextBox denominado TextBox1.

•	Um CheckBox denominado CheckBox1.

•	Um ComboBox denominado ComboBox1.

•	Um CommandButton denominado CommandButton2.

•	Um ListBox denominado ListBox1.

•	Um MultiPage denominado MultiPage1.

•	Dois controles OptionButton denominados OptionButton1 e OptionButton2.

•	Um ScrollBar denominado ScrollBar1.

•	Um SpinButton denominado SpinButton1.

•	Um TabStrip denominado TabStrip1.

•	Um TextBox denominado TextBox2.

•	Um ToggleButton denominado ToggleButton1.

Dim i As Integer

Private Sub CommandButton1_Click()

    TextBox1.Text = "O valor de " & ActiveControl.Name & " é " & ActiveControl.Value

End Sub

Private Sub UserForm_Initialize()

    CommandButton1.Caption = "Obter valor do controle atual"

    CommandButton1.AutoSize = True

    CommandButton1.TakeFocusOnClick = False

    CommandButton1.TabStop = False

    TextBox1.AutoSize = True

    For i = 0 To 10

        ComboBox1.AddItem "Escolha " & (i + 1)

        ListBox1.AddItem "Seleção " & (100 - i)

    Next i

    CheckBox1.TripleState = True

    ToggleButton1.TripleState = True

    TextBox2.Text = "Digite o texto aqui."

End Sub


Exemplo do evento KeyPress

O exemplo a seguir utiliza o evento KeyPress para copiar pressionamentos de teclas de um TextBox para um segundo TextBox. O usuário digita no TextBox apropriadamente marcado.

Para utilizar esse exemplo, copie este código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Dois controles TextBox denominados TextBox1 e TextBox2.

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

    TextBox2.Text = TextBox2.Text & Chr(KeyAscii)

    'Para manipular combinações de teclado (utilizando SHIFT, CTRL, ALT e uma outra tecla),

    'ou TAB or ENTER, utilize o evento ApertarTecla ou LiberarTecla.

End Sub

Private Sub UserForm_Initialize()

    Move 0, 0, 570, 380

    TextBox1.Move 30, 40, 220, 160

    TextBox1.MultiLine = True

    TextBox1.WordWrap = True

    TextBox1.Text = "Digite o texto aqui."

    TextBox1.EnterKeyBehavior = True

    TextBox2.Move 298, 40, 220, 160

    TextBox2.MultiLine = True

    TextBox2.WordWrap = True

    TextBox2.Text = "Texto digitado copiado aqui."

    TextBox2.Locked = True

 End Sub


Exemplo do evento Zoom

O exemplo a seguir utiliza o evento Zoom para avaliar o novo valor da propriedade Zoom e adiciona barras de rolagem ao formulário quando apropriado. O exemplo utiliza um Label para exibir o valor atual. O usuário especifica o tamanho do formulário utilizando o SpinButton e, em seguida, clica no CommandButton para definir o valor na propriedade Zoom.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um Label denominado Label1.

•	Um SpinButton denominado SpinButton1.

•	Um CommandButton denominado CommandButton1.

•	Outros controles posicionados próximos às extremidades do formulário.

Private Sub CommandButton1_Click()

    Zoom = SpinButton1.Value

End Sub

Private Sub SpinButton1_SpinDown()

    Label1.Caption = SpinButton1.Value

End Sub

Private Sub SpinButton1_SpinUp()

    Label1.Caption = SpinButton1.Value

End Sub

Private Sub UserForm_Initialize()

    SpinButton1.Min = 10

    SpinButton1.Max = 400

    SpinButton1.Value = 100

    Label1.Caption = SpinButton1.Value

    CommandButton1.Caption = "Faça o zoom!"

End Sub

Private Sub UserForm_Zoom(Percent As Integer)

    Dim MyResult As Double

    If Percent > 99 Then

        ScrollBars = fmScrollBarsBoth

        ScrollLeft = 0

        ScrollTop = 0

        MyResult = Width * Percent / 100

        ScrollWidth = MyResult

        MyResult = Height * Percent / 100

        ScrollHeight = MyResult

    Else

        ScrollBars = fmScrollBarsNone

        ScrollLeft = 0

        ScrollTop = 0

    End If

End Sub


Exemplo das propriedades Max, Min e MaxLength

O exemplo a seguir demonstra as propriedades Max e Min quando utilizadas com um ScrollBar autônomo. O usuário pode definir os valores Max e Min como qualquer número inteiro na faixa de –1000 a 1000. Esse exemplo utiliza, também, a propriedade MaxLength para limitar o número de caracteres digitados aos valores Max e Min.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um Label denominado Label1 e um TextBox denominado TextBox1.

•	Um Label denominado Label2 e um TextBox denominado TextBox2.

•	Um ScrollBar denominado ScrollBar1.

•	Um Label denominado Label3.

Dim TempNum As Integer

Private Sub UserForm_Initialize()

    Label1.Caption = "Min -1000 a 1000"

    ScrollBar1.Min = -1000

    TextBox1.Text = ScrollBar1.Min

    TextBox1.MaxLength = 5

    Label2.Caption = "Max -1000 a 1000"

    ScrollBar1.Max = 1000

    TextBox2.Text = ScrollBar1.Max

    TextBox2.MaxLength = 5

    ScrollBar1.SmallChange = 1

    ScrollBar1.LargeChange = 100

    ScrollBar1.Value = 0

    Label3.Caption = ScrollBar1.Value

End Sub

Private Sub TextBox1_Change()

    If IsNumeric(TextBox1.Text) Then

        TempNum = CInt(TextBox1.Text)

        If TempNum >= -1000 And TempNum <= 1000 Then

            ScrollBar1.Min = TempNum

        Else

            TextBox1.Text = ScrollBar1.Min

        End If

    Else

        TextBox1.Text = ScrollBar1.Min

    End If

End Sub

Private Sub TextBox2_Change()

    If IsNumeric(TextBox2.Text) Then

        TempNum = CInt(TextBox2.Text)

        If TempNum >= -1000 And TempNum <= 1000 Then

            ScrollBar1.Max = TempNum

        Else

            TextBox2.Text = ScrollBar1.Max

        End If

    Else

        TextBox2.Text = ScrollBar1.Max

    End If

End Sub

Private Sub ScrollBar1_Change()

Label3.Caption = ScrollBar1.Value

End Sub


Exemplo das propriedades LargeChange e SmallChange

O exemplo a seguir demonstra as propriedades LargeChange e SmallChange quando utilizadas com um ScrollBar autônomo. O usuário pode definir os valores LargeChange e SmallChange como qualquer número inteiro na faixa de 0 a 100. Esse exemplo também utiliza a propriedade MaxLength para limitar o número de caracteres digitados aos valores LargeChange e SmallChange.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um Label denominado Label1 e um TextBox denominado TextBox1.

•	Um Label denominado Label2 e um TextBox denominado TextBox2.

•	Um ScrollBar denominado ScrollBar1.

•	Um Label denominado Label3.

Dim TempNum As Integer

Private Sub ScrollBar1_Change()

    Label3.Caption = ScrollBar1.Value

End Sub

Private Sub TextBox1_Change()

    If IsNumeric(TextBox1.Text) Then

        TempNum = CInt(TextBox1.Text)

        If TempNum >= 0 And TempNum <= 100 Then

            ScrollBar1.SmallChange = TempNum

        Else

            TextBox1.Text = ScrollBar1.SmallChange

        End If

    Else

        TextBox1.Text = ScrollBar1.SmallChange

    End If

End Sub

Private Sub TextBox2_Change()

    If IsNumeric(TextBox2.Text) Then

        TempNum = CInt(TextBox2.Text)

        If TempNum >= 0 And TempNum <= 100 Then

            ScrollBar1.LargeChange = TempNum

        Else

            TextBox2.Text = ScrollBar1.LargeChange

        End If

    Else

        TextBox2.Text = ScrollBar1.LargeChange

    End If

End Sub

Private Sub UserForm_Initialize()

    ScrollBar1.Min = -1000

    ScrollBar1.Max = 1000

    Label1.Caption = "SmallChange 0 a 100"

    ScrollBar1.SmallChange = 1

    TextBox1.Text = ScrollBar1.SmallChange

    TextBox1.MaxLength = 3

    Label2.Caption = "LargeChange 0 a 100"

    ScrollBar1.LargeChange = 100

    TextBox2.Text = ScrollBar1.LargeChange

    TextBox2.MaxLength = 3

    ScrollBar1.Value = 0

    Label3.Caption = ScrollBar1.Value

End Sub


Exemplo das propriedades ScrollBars e KeepScrollBarsVisible

O exemplo a seguir utiliza as propriedades ScrollBars e KeepScrollBarsVisible para adicionar barras de rolagem a uma página de um MultiPage e a um Frame. O usuário escolhe um botão de opção que, por sua vez, especifica um valor para KeepScrollBarsVisible.

Para utilizar esse exemplo, copie este código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um MultiPage denominado MultiPage1.

•	Um Frame denominado Frame1.

•	Quatro controles OptionButton denominados de OptionButton1 a OptionButton4.

Private Sub UserForm_Initialize()

    MultiPage1.Pages(0).ScrollBars = fmScrollBarsBoth

    MultiPage1.Pages(0).KeepScrollBarsVisible = fmScrollBarsNone

    Frame1.ScrollBars = fmScrollBarsBoth

    Frame1.KeepScrollBarsVisible = fmScrollBarsNone

    OptionButton1.Caption = "Sem barras de rolagem"

    OptionButton1.Value = True

    OptionButton2.Caption = "Barras de rolagem horizontais"

    OptionButton3.Caption = "Barras de rolagem verticais"

    OptionButton4.Caption = "Ambas as barras de rolagem"

End Sub

Private Sub OptionButton1_Click()

    MultiPage1.Pages(0).KeepScrollBarsVisible = fmScrollBarsNone

    Frame1.KeepScrollBarsVisible = fmScrollBarsNone

End Sub

Private Sub OptionButton2_Click()

    MultiPage1.Pages(0).KeepScrollBarsVisible = fmScrollBarsHorizontal

    Frame1.KeepScrollBarsVisible = fmScrollBarsHorizontal

End Sub

Private Sub OptionButton3_Click()

    MultiPage1.Pages(0).KeepScrollBarsVisible = fmScrollBarsVertical

    Frame1.KeepScrollBarsVisible = fmScrollBarsVertical

End Sub

Private Sub OptionButton4_Click()

    MultiPage1.Pages(0).KeepScrollBarsVisible = fmScrollBarsBoth

    Frame1.KeepScrollBarsVisible = fmScrollBarsBoth

End Sub


Exemplo das propriedades ScrollHeight, ScrollLeft, ScrollTop e ScrollWidth

O exemplo a seguir utiliza uma página de um MultiPage como uma área de rolagem. O usuário pode utilizar as barras de rolagem da Page2 do MultiPage para ganhar acesso a partes da página que não foram inicialmente exibidas.

Para utilizar esse exemplo, copie este código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha um MultiPage denominado MultiPage1 e que cada página do MultiPage contenha um ou mais controles.

Observação   Cada página de um MultiPage é exclusiva. A Page1 não tem barras de rolagem. A Page2 tem barras de rolagem horizontais e verticais.

Private Sub UserForm_Initialize()

    MultiPage1.Pages(1).ScrollBars = fmScrollBarsBoth

    MultiPage1.Pages(1).KeepScrollBarsVisible = fmScrollBarsNone

    MultiPage1.Pages(1).ScrollHeight = 2 * MultiPage1.Height

    MultiPage1.Pages(1).ScrollWidth = 2 * MultiPage1.Width

    'Ajusta ScrollHeight, ScrollWidth antes de ajustar ScrollLeft, ScrollTop

    MultiPage1.Pages(1).ScrollLeft = MultiPage1.Width / 2

    MultiPage1.Pages(1).ScrollTop = MultiPage1.Height / 2

End Sub


Exemplo das propriedades InsideHeight e InsideWidth

O exemplo a seguir utiliza as propriedades InsideHeight e InsideWidth para redimensionar um CommandButton. O usuário clica no CommandButton para redimensioná-lo.

Observação   InsideHeight e InsideWidth são propriedades somente leitura.

Para utilizar esse exemplo, copie este código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um CommandButton denominado CommandButton1.

Dim Resize As Single

Private Sub UserForm_Initialize()

    Resize = 0.75

    CommandButton1.Caption = "Redimensionar Botão"

End Sub

Private Sub CommandButton1_Click()

    CommandButton1.Move 10, 10, UserForm1.InsideWidth * Resize, UserForm1.InsideHeight * Resize

    CommandButton1.Caption = "Botão redimensionado utilizando-se InsideHeight e InsideWidth!"

End Sub


Exemplo da propriedade ListRows

O exemplo a seguir utiliza um SpinButton para controlar o número de linhas na lista suspensa de um ComboBox. O usuário altera o valor do SpinButton e, em seguida, clica na seta suspensa do ComboBox para exibir a lista.

Para utilizar esse exemplo, copie este código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um ComboBox denominado ComboBox1.

•	Um SpinButton denominado SpinButton1.

•	Um Label denominado Label1.

Private Sub UserForm_Initialize()

    Dim i As Integer

    For i = 1 To 20

        ComboBox1.AddItem "Escolha " & (ComboBox1.ListCount + 1)

    Next i

    SpinButton1.Min = 0

    SpinButton1.Max = 12

    SpinButton1.Value = ComboBox1.ListRows

    Label1.Caption = "ListRows = " & SpinButton1.Value

End Sub

Private Sub SpinButton1_Change()

    ComboBox1.ListRows = SpinButton1.Value

    Label1.Caption = "ListRows = " & SpinButton1.Value

End Sub


Exemplo da propriedade ListWidth

O exemplo a seguir utiliza um SpinButton para controlar a largura da lista suspensa de um ComboBox. O usuário altera o valor do SpinButton e, em seguida, clica na seta suspensa do ComboBox para exibir a lista.

Para utilizar esse exemplo, copie este o código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um ComboBox denominado ComboBox1.

•	Um SpinButton denominado SpinButton1.

•	Um Label denominado Label1.

Private Sub SpinButton1_Change()

    ComboBox1.ListWidth = SpinButton1.Value

    Label1.Caption = "ListWidth = " & SpinButton1.Value

End Sub

Private Sub UserForm_Initialize()

    Dim i As Integer

    For i = 1 To 20

        ComboBox1.AddItem "Escolha " & (ComboBox1.ListCount + 1)

    Next i

    SpinButton1.Min = 0

    SpinButton1.Max = 130

    SpinButton1.Value = Val(ComboBox1.ListWidth)

    SpinButton1.SmallChange = 5

    Label1.Caption = "ListWidth = " & SpinButton1.Value

End Sub


Exemplo das propriedades ListStyle e MultiSelect

O exemplo a seguir utiliza as propriedades ListStyle e MultiSelect para controlar a aparência de um ListBox. O usuário escolhe um valor para ListStyle utilizando o ToggleButton e escolhe um OptionButton para um dos valores MultiSelect. A aparência do ListBox é alterada de acordo, bem como o comportamento da seleção dentro da ListBox.

Para utilizar esse exemplo, copie este código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um ListBox denominado ListBox1.

•	Um Label denominado Label1.

•	Três controles OptionButton denominados de OptionButton1 a OptionButton3.

•	Um ToggleButton denominado ToggleButton1.

Private Sub UserForm_Initialize()

    Dim i As Integer

    For i = 1 To 8

        ListBox1.AddItem "Escolha" & (ListBox1.ListCount + 1)

    Next i

    Label1.Caption = "Escolhas MultiSelect"

    Label1.AutoSize = True

    ListBox1.MultiSelect = fmMultiSelectSingle

    OptionButton1.Caption = "Entrada simples"

    OptionButton1.Value = True

    OptionButton2.Caption = "Entradas múltiplas"

    OptionButton3.Caption = "Entradas estendidas"

    ToggleButton1.Caption = "ListStyle - Comum"

    ToggleButton1.Value = True

    ToggleButton1.Width = 90

    ToggleButton1.Height = 30

End Sub

Private Sub OptionButton1_Click()

    ListBox1.MultiSelect = fmMultiSelectSingle

End Sub

Private Sub OptionButton2_Click()

    ListBox1.MultiSelect = fmMultiSelectMulti

End Sub

Private Sub OptionButton3_Click()

    ListBox1.MultiSelect = fmMultiSelectExtended

End Sub

Private Sub ToggleButton1_Click()

    If ToggleButton1.Value = True Then

        ToggleButton1.Caption = "ListStyle Comum"

        ListBox1.ListStyle = fmListStylePlain

    Else

        ToggleButton1.Caption = "OptionButton ou CheckBox"

        ListBox1.ListStyle = fmListStyleOption

    End If

End Sub


Exemplo das propriedades MouseIcon e MousePointer

O exemplo a seguir demonstra como especificar um ponteiro de mouse que seja apropriado para um controle ou situação específica. Você pode designar um dos vários ponteiros de mouse disponíveis, utilizando a propriedade MousePointer ou pode designar um ícone personalizado utilizando as propriedades MousePointer e MouseIcon.

Esse exemplo funciona das seguintes maneiras:

•	Escolha um ponteiro de mouse no ListBox para alterar o ponteiro de mouse associado ao primeiro CommandButton.

•	Clique no primeiro CommandButton para associar o seu ponteiro de mouse ao segundo CommandButton.

•	Clique no segundo CommandButton para carregar um ícone personalizado no seu ponteiro de mouse.

Para utilizar esse exemplo, copie este código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Dois controles CommandButton denominados CommandButton1 e CommandButton2.

•	Um ListBox denominado ListBox1.

Observação   Esse exemplo utiliza dois arquivos de ícone (identificados pela extensão de arquivo ico) que são carregados utilizando-se a função LoadPicture. Você deve editar cada chamada da função LoadPicture para especificar um arquivo de ícone que resida no seu sistema.

Private Sub ListBox1_Click()

    If IsNull(ListBox1.Value) = False Then

        CommandButton1.MousePointer = ListBox1.Value

        If CommandButton1.MousePointer = fmMousePointerCustom Then

            CommandButton1.MouseIcon = LoadPicture("c:\msvc20\cdk32\samples\circ1\bix.ico")

        End If

    End If

End Sub

Private Sub CommandButton1_Click()

    CommandButton2.MousePointer = CommandButton1.MousePointer

    If CommandButton2.MousePointer = fmMousePointerCustom Then

        CommandButton2.MouseIcon = CommandButton1.MouseIcon

    End If

End Sub

Private Sub CommandButton2_Click()

    CommandButton2.MousePointer = fmMousePointerCustom

    CommandButton2.MouseIcon = LoadPicture("c:\msvc20\cdk32\samples\push\push.ico")

End Sub

Private Sub UserForm_Initialize()

    'Carregar a Caixa de Listagem com escolhas do MousePointer

    ListBox1.ColumnCount = 2

    ListBox1.AddItem "fmMousePointerDefault"

    ListBox1.List(0, 1) = fmMousePointerDefault

    ListBox1.AddItem "fmMousePointerArrow"

    ListBox1.List(1, 1) = fmMousePointerArrow

    ListBox1.AddItem "fmMousePointerCross"

    ListBox1.List(2, 1) = fmMousePointerCross

    ListBox1.AddItem "fmMousePointerIBeam"

    ListBox1.List(3, 1) = fmMousePointerIBeam

    ListBox1.AddItem "fmMousePointerSizeNESW"

    ListBox1.List(4, 1) = fmMousePointerSizeNESW

    ListBox1.AddItem "fmMousePointerSizeNS"

    ListBox1.List(5, 1) = fmMousePointerSizeNS

    ListBox1.AddItem "fmMousePointerSizeNWSE"

    ListBox1.List(6, 1) = fmMousePointerSizeNWSE

    ListBox1.AddItem "fmMousePointerSizeWE"

    ListBox1.List(7, 1) = fmMousePointerSizeWE

    ListBox1.AddItem "fmMousePointerUpArrow"

    ListBox1.List(8, 1) = fmMousePointerUpArrow

    ListBox1.AddItem "fmMousePointerHourglass"

    ListBox1.List(9, 1) = fmMousePointerHourGlass

    ListBox1.AddItem "fmMousePointerNoDrop"

    ListBox1.List(10, 1) = fmMousePointerNoDrop

    ListBox1.AddItem "fmMousePointerAppStarting"

    ListBox1.List(11, 1) = fmMousePointerAppStarting

    ListBox1.AddItem "fmMousePointerHelp"

    ListBox1.List(12, 1) = fmMousePointerHelp

    ListBox1.AddItem "fmMousePointerSizeAll"

    ListBox1.List(13, 1) = fmMousePointerSizeAll

    ListBox1.AddItem "fmMousePointerCustom"

    ListBox1.List(14, 1) = fmMousePointerCustom

    ListBox1.BoundColumn = 2

    ListBox1.Value = fmMousePointerDefault

    MsgBox "ListBox1.Value =" & ListBox1.Value & "."

    CommandButton1.MousePointer = ListBox1.Value

End Sub


Exemplo da propriedade EnterKeyBehavior

O exemplo a seguir utiliza a propriedade EnterKeyBehavior para controlar o efeito de ENTER em um TextBox. Nesse exemplo, o usuário pode especificar tanto um TextBox de linha única ou multilinha.

Para utilizar esse exemplo, copie este código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um TextBox denominado TextBox1.

•	Dois controles ToggleButton denominados ToggleButton1 e ToggleButton2.

Private Sub UserForm_Initialize()

    TextBox1.EnterKeyBehavior = True

    ToggleButton1.Caption = "EnterKeyBehavior é Verdadeiro"

    ToggleButton1.Width = 70

    ToggleButton1.Value = True

    TextBox1.MultiLine = True

    ToggleButton2.Caption = "MultiLine é Verdadeira"

    ToggleButton2.Width = 70

    ToggleButton2.Value = True

    TextBox1.Height = 100

    TextBox1.WordWrap = True

    TextBox1.Text = "Digite seu texto aqui. Se EnterKeyBehavior for Verdadeira"& _
    " pressione Enter para iniciar uma nova linha. Caso contrário, pressione SHIFT+ENTER."

End Sub

Private Sub ToggleButton1_Click()

    If ToggleButton1.Value = True Then

        TextBox1.EnterKeyBehavior = True

        ToggleButton1.Caption = "EnterKeyBehavior é Verdadeira"

    Else

        TextBox1.EnterKeyBehavior = False

        ToggleButton1.Caption = "EnterKeyBehavior é Falsa"

    End If

End Sub

Private Sub ToggleButton2_Click()

    If ToggleButton2.Value = True Then

        TextBox1.MultiLine = True

        ToggleButton2.Caption = "TextBox de multilinhas"

    Else

        TextBox1.MultiLine = False

        ToggleButton2.Caption = "TextBox de Linha única"

    End If

End Sub


Exemplo da propriedade Index

O exemplo a seguir utiliza a propriedade Index para alterar a ordem das páginas e guias em um MultiPage e TabStrip. O usuário escolhe o CommandButton1 para mover a terceira página e a guia para a frente do MultiPage e TabStrip  e o CommandButton2 para mover a página e a guia selecionadas para trás do MultiPage e TabStrip.

Para utilizar esse exemplo, copie este código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Dois controles CommandButton denominados CommandButton1 e CommandButton2.

•	Um MultiPage denominado MultiPage1.

•	Um TabStrip denominado TabStrip1.

Dim MyPageOrTab As Object

Private Sub CommandButton1_Click()

'Mova a terceira página e a guia para a frente do controle

    MultiPage1.page3.Index = 0

    TabStrip1.Tab3.Index = 0

End Sub

Private Sub CommandButton2_Click()

'Mova a página selecionada e a guia para trás do controle

    Set MyPageOrObject = MultiPage1.SelectedItem

    MsgBox "MultiPage1.SelectedItem = " & MultiPage1.SelectedItem.Name

    MyPageOrObject.Index = 4

    Set MyPageOrObject = TabStrip1.SelectedItem

    MsgBox "TabStrip1.SelectedItem = " & TabStrip1.SelectedItem.Caption

    MyPageOrObject.Index = 4

End Sub

Private Sub UserForm_Initialize()

    MultiPage1.Width = 200

    MultiPage1.Pages.Add

    MultiPage1.Pages.Add

    MultiPage1.Pages.Add

    TabStrip1.Width = 200

    TabStrip1.Tabs.Add

    TabStrip1.Tabs.Add

    TabStrip1.Tabs.Add

    CommandButton1.Caption = "Mover terceira página/guia para frente"

    CommandButton1.Width = 180

    CommandButton2.Caption = "Mover item selecionado para trás"

    CommandButton2.Width = 180

 End Sub


Exemplo das propriedades Enabled e Locked

O exemplo a seguir demonstra as propriedades Enabled e Locked e como elas se complementam entre si. Esse exemplo apresenta cada propriedade com um CheckBox, de forma que você possar observar as definições individualmente e combinadas. Inclui, também, um segundo TextBox para que você copie e cole informações entre os controles de TextBox e verifique as atividades suportadas pelas definições dessas propriedades.

Observação   Você pode copiar a seleção na Área de transferência utilizando CTRL+C e colar utilizando CTRL+V.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um TextBox denominado TextBox1.

•	Dois controles CheckBox denominados CheckBox1 e CheckBox2.

•	Um segundo TextBox denominado TextBox2.

Private Sub CheckBox1_Change()

    TextBox2.Text = "TextBox2"

    TextBox1.Enabled = CheckBox1.Value

End Sub

Private Sub CheckBox2_Change()

    TextBox2.Text = "TextBox2"

    TextBox1.Locked = CheckBox2.Value

End Sub

Private Sub UserForm_Initialize()

    TextBox1.Text = "TextBox1"

    TextBox1.Enabled = True

    TextBox1.Locked = False

    CheckBox1.Caption = "Ativado"

    CheckBox1.Value = True

    CheckBox2.Caption = "Bloqueado"

    CheckBox2.Value = False

    TextBox2.Text = "TextBox2"

End Sub


Exemplo da propriedade Delay

O exemplo a seguir demonstra o intervalo de tempo entre os eventos sucessivos Change, SpinUp e SpinDown que ocorrem quando um usuário mantém o botão do mouse pressionado para alterar o valor de um SpinButton ou de um ScrollBar.

Nesse exemplo, o usuário escolhe uma configuração de atraso e, em seguida, clica e pressiona um dos lados de um SpinButton. Os eventos SpinUp e SpinDown são gravados em um ListBox à medida que são iniciados.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um SpinButton denominado SpinButton1.

•	Dois controles OptionButton denominados OptionButton1 e OptionButton2.

•	Um ListBox denominado ListBox1.

Dim EventCount As Long

Private Sub ResetControl()

    ListBox1.Clear

    EventCount = 0

    SpinButton1.Value = 5000

End Sub

Private Sub UserForm_Initialize()

    SpinButton1.Min = 0

    SpinButton1.Max = 10000

    ResetControl

    SpinButton1.Delay = 50

    OptionButton1.Caption = "atraso de 50 milissegundos "

    OptionButton2.Caption = "atraso de de 250 milissegundos "

    OptionButton1.Value = True

End Sub

Private Sub OptionButton1_Click()

    SpinButton1.Delay = 50

    ResetControl

End Sub

Private Sub OptionButton2_Click()

    SpinButton1.Delay = 250

    ResetControl

End Sub

Private Sub SpinButton1_SpinDown()

    EventCount = EventCount + 1

    ListBox1.AddItem EventCount

End Sub

Private Sub SpinButton1_SpinUp()

    EventCount = EventCount + 1

    ListBox1.AddItem EventCount

End Sub


Exemplos das propriedades DropButtonStyle e ShowDropButtonWhen

O exemplo a seguir demonstra os diferentes símbolos que você pode especificar para uma seta suspensa em um ComboBox ou TextBox. Nesse exemplo, o usuário escolhe um estilo de seta suspensa em um ComboBox. Esse exemplo também utiliza a propriedade Locked. Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um ComboBox denominado ComboBox1.

•	Um Label denominado Label1.

•	Um TextBox denominado TextBox1 localizada abaixo de Label1.

Private Sub ComboBox1_Click()

    ComboBox1.DropButtonStyle = ComboBox1.Value

    TextBox1.DropButtonStyle = ComboBox1.Value

End Sub

Private Sub UserForm_Initialize()

    ComboBox1.ColumnCount = 2

    ComboBox1.BoundColumn = 2

    ComboBox1.TextColumn = 1

    ComboBox1.AddItem "Botão Vazio"

    ComboBox1.List(0, 1) = 0

    ComboBox1.AddItem "Seta Abaixo"

    ComboBox1.List(1, 1) = 1

    ComboBox1.AddItem "Reticências"

    ComboBox1.List(2, 1) = 2

    ComboBox1.AddItem "Sublinhar"

    ComboBox1.List(3, 1) = 3

    ComboBox1.Value = 0

    TextBox1.Text = "TextBox1"

    TextBox1.ShowDropButtonWhen = fmShowDropButtonWhenAlways

    TextBox1.Locked = True

    Label1.Caption = "O DropButton também se aplica a um TextBox."

    Label1.AutoSize = True

    Label1.WordWrap = False

End Sub


Exemplo das propriedades LineCount e TextLength

O exemplo a seguir conta os caracteres e o número de linhas de texto em um TextBox utilizando as propriedades LineCount e TextLength e o método SetFocus. Nesse exemplo, o usuário pode digitar em um TextBox e recuperar os valores atuais das propriedades LineCount e TextLength.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um TextBox denominado TextBox1.

•	Um CommandButton denominado CommandButton1.

•	Dois controles Label denominados Label1 and Label2.

'Digite SHIFT+ENTER para iniciar uma nova linha na caixa de texto.

Private Sub CommandButton1_Click()

    'Primeiramente, é preciso dar o foco a TextBox1 para obter a contagem de linhas

    TextBox1.SetFocus

    Label1.Caption = "LineCount = " & TextBox1.LineCount

    Label2.Caption = "TextLength = " & TextBox1.TextLength

End Sub

Private Sub UserForm_Initialize()

    CommandButton1.WordWrap = True

    CommandButton1.AutoSize = True

    CommandButton1.Caption = "Obter Contagens"

    Label1.Caption = "LineCount = "

    Label2.Caption = "TextLength = "

    TextBox1.MultiLine = True

    TextBox1.WordWrap = True

    TextBox1.Text = "Digite aqui o seu texto."

End Sub


Exemplo da propriedade Count

O exemplo a seguir exibe a propriedade Count da coleção Controls do formulário e a propriedade Count que identifica o número de páginas e guias de cada MultiPage e TabStrip.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. O formulário pode conter qualquer número de controles, com as seguintes restrições:

•	Os nomes de controles MultiPage devem começar com “MultiPage”.

•	Os nomes de controles TabStrip devem começar com “TabStrip”.

Observação   Você pode adicionar páginas a um MultiPage ou adicionar guias a um TabStrip. Clique duas vezes no controle e, em seguida, dê um clique com o botão direito na área de guia do controle e escolha New Page no menu de atalho.

Private Sub UserForm_Initialize()

    Dim MyControl As Control

    MsgBox "UserForm1. Controls.Count = " & Controls.Count

    For Each MyControl In Controls

        If (MyControl.Name Like "MultiPage*") Then

            MsgBox MyControl.Name & ".Pages.Count = " & MyControl.Pages.Count

        ElseIf (MyControl.Name Like "TabStrip*") Then

            MsgBox MyControl.Name & ".Tabs.Count = " & MyControl.Tabs.Count

        End If

    Next

End Sub


Exemplo da propriedade Alignment

O exemplo a seguir demonstra a propriedade Alignment utilizada com diversos controles OptionButton. Nesse exemplo, o usuário pode alterar o alinhamento clicando em um ToggleButton.

Para utilizar esse exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha os seguintes controles:

•	Dois controles OptionButton denominados OptionButton1 e OptionButton2.

•	Um ToggleButton denominado ToggleButton1.

Private Sub UserForm_Initialize()

    OptionButton1.Alignment = fmAlignmentLeft

    OptionButton2.Alignment = fmAlignmentLeft

    OptionButton1.Caption = "Alinhamento com AutoSize"

    OptionButton2.Caption = "Escolha 2"

    OptionButton1.AutoSize = True

    OptionButton2.AutoSize = True

    ToggleButton1.Caption = "Alinhar à Esquerda"

    ToggleButton1.WordWrap = True

    ToggleButton1.Value = True

End Sub

Private Sub ToggleButton1_Click()

    If ToggleButton1.Value = True Then

        ToggleButton1.Caption = "Alinhar à Esquerda"

        OptionButton1.Alignment = fmAlignmentLeft

        OptionButton2.Alignment = fmAlignmentLeft

    Else

        ToggleButton1.Caption = "Alinhar à Direita"

        OptionButton1.Alignment = fmAlignmentRight

        OptionButton2.Alignment = fmAlignmentRight

    End If

End Sub


Exemplo da propriedade ActiveControl

O exemplo a seguir utiliza a propriedade ActiveControl em uma sub-rotina que rastreia os controles que um usuário percorre. O evento Enter de cada controle chama a sub-rotina TraceFocus para identificar o controle que tem o foco.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha os seguintes controles:

•	Um ScrollBar denominado ScrollBar1.

•	Um ListBox denominado ListBox1.

•	Dois controles OptionButton denominados OptionButton1 e OptionButton2.

•	Um Frame denominado Frame1.

Dim MyControl As Control

Private Sub TraceFocus()

    ListBox1.AddItem ActiveControl.Name

    ListBox1.List(ListBox1.ListCount - 1, 1) = ActiveControl.TabIndex

End Sub

Private Sub UserForm_Initialize()

    ListBox1.ColumnCount = 2

    ListBox1.AddItem "Controles Percorridos"

    ListBox1.List(0, 1) = "Índice dos Controle"

End Sub

Private Sub Frame1_Enter()

    TraceFocus

End Sub

Private Sub ListBox1_Enter()

    TraceFocus

End Sub

Private Sub OptionButton1_Enter()

    TraceFocus

End Sub

Private Sub OptionButton2_Enter()

    TraceFocus

End Sub

Private Sub ScrollBar1_Enter()

    TraceFocus

End Sub


Exemplo do método DropDown

O exemplo a seguir utiliza o método DropDown para exibir a lista em um ComboBox. O usuário pode exibir a lista de um ComboBox clicando no CommandButton.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um ComboBox denominado ComboBox1.

•	Um CommandButton denominado CommandButton1.

Private Sub CommandButton1_Click()

    ComboBox1.DropDown

End Sub

Private Sub UserForm_Initialize()

    ComboBox1.AddItem "Peru"

    ComboBox1.AddItem "Galinha"

    ComboBox1.AddItem "Pato"

    ComboBox1.AddItem "Ganso"

    ComboBox1.AddItem "Galo"

End Sub


Exemplo de Cut e Paste de um TextBox

O exemplo a seguir utiliza os métodos Cut e Paste para recortar texto de um TextBox e colá-lo em outro TextBox.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Dois controles TextBox denominados TextBox1 e TextBox2.

•	Um CommandButton denominado CommandButton1.

Private Sub UserForm_Initialize()

    TextBox1.Text = "Da TextBox1!"

    TextBox2.Text = "Olá "

    CommandButton1.Caption = "Recortar e Colar"

    CommandButton1.AutoSize = True

End Sub

Private Sub CommandButton1_Click()

    TextBox2.SelStart = 0

    TextBox2.SelLength = TextBox2.TextLength

    TextBox2.Cut

    TextBox1.SetFocus

    TextBox1.SelStart = 0

    TextBox1.Paste

    TextBox2.SelStart = 0

End Sub


Exemplo de Cut e Paste de uma página

O exemplo a seguir utiliza os métodos Add, Cut e Paste para recortar e colar um controle proveniente de um Page de um MultiPage. O controle envolvido nas operações de recortar e colar é adicionado dinamicamente ao formulário.

Este exemplo pressupõe que o usuário adicionará, depois recortará e, em seguida, colará o novo controle.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Três controles CommandButton denominados CommandButton1, CommandButton2 e CommandButton3.

•	Um MultiPage denominado MultiPage1.

Dim MyTextBox As Control

Private Sub CommandButton1_Click()

    Set MyTextBox = MultiPage1.Pages(MultiPage1.Value).Controls.Add("Forms.TextBox.1", "MyTextBox", Visible)

    CommandButton2.Enabled = True

    CommandButton1.Enabled = False

End Sub

Private Sub CommandButton2_Click()

    MultiPage1.Pages(MultiPage1.Value).Controls.Cut

    CommandButton3.Enabled = True

    CommandButton2.Enabled = False

End Sub

Private Sub CommandButton3_Click()

    Dim MyPage As Object

    Set MyPage = MultiPage1.Pages.Item(MultiPage1.Value)

    MyPage.Paste

    CommandButton3.Enabled = False

End Sub

Private Sub UserForm_Initialize()

    CommandButton1.Caption = "Adicionar"

    CommandButton2.Caption = "Recortar"

    CommandButton3.Caption = "Colar"

    CommandButton1.Enabled = True

    CommandButton2.Enabled = False

    CommandButton3.Enabled = False

End Sub


Exemplo da propriedade Name

O exemplo a seguir exibe a propriedade Name de cada controle de um formulário. Este exemplo utiliza a coleção Controls para percorrer todos os controles colocados diretamente no Userform.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha um CommandButton denominado CommandButton1 e vários outros controles.

Private Sub CommandButton1_Click()

    Dim MyControl As Control

    For Each MyControl In Controls

        MsgBox "MyControl.Name = " & MyControl.Name

    Next

End Sub


Exemplo de como acessar uma guia

O exemplo a seguir acessa uma determinada guia de um TabStrip de várias formas:

•	Utilizando a coleção Tabs com um índice numérico.

•	Utilizando a coleção Tabs com um índice de seqüências.

•	Utilizando a coleção Tabs com o método Item.

•	Utilizando o nome do Tab determinado.

•	Utilizando a propriedade SelectedItem.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha um TabStrip denominado TabStrip1.

Private Sub UserForm_Initialize()

    Dim TabName As String

    For i = 0 To TabStrip1.Count - 1

        'Utilizando índice (numérico ou por seqüência)

        MsgBox "TabStrip1.Tabs(i).Caption = " & TabStrip1.Tabs(i).Caption

        MsgBox "TabStrip1.Tabs.Item(i).Caption = " & TabStrip1.Tabs.Item(i).Caption

        TabName = TabStrip1.Tabs(i).Name

        MsgBox "TabName = " & TabName

        MsgBox "TabStrip1.Tabs(TabName).Caption = " & TabStrip1.Tabs(TabName).Caption

        MsgBox "TabStrip1.Tabs.Item(TabName).Caption = " & TabStrip1.Tabs.Item(TabName).Caption

        'Utilize o objeto Tab sem remeter-se à coleção de Tabs

        If i = 0 Then

            MsgBox "TabStrip1.Tab1.Caption = " & TabStrip1.Tab1.Caption

        ElseIf i = 1 Then

            MsgBox "TabStrip1.Tab2.Caption = " & TabStrip1.Tab2.Caption

        EndIf

        'Utilize a propriedade SelectedItem

        TabStrip1.Value = i

        MsgBox “TabStrip1.Selected.Item.Caption = " & TabStrip1.SelectedItem.Caption

    Next i

End Sub


Exemplo da propriedade Zoom

O exemplo a seguir utiliza a propriedade Zoom para reduzir ou estender a informação exibida em um formulário, Página ou Moldura. Esse exemplo inclui um Frame, um TextBox no Frame e um ScrollBar. O nível de ampliação do Frame é alterado através do Zoom. O usuário pode definir o Zoom utilizando o ScrollBar. O TextBox é exibido para demonstrar os efeitos do zoom.

Esse exemplo também utiliza as propriedades Max e Min para identificar a faixa de valores aceitáveis para o ScrollBar.

Para utilizar esse exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um Label denominado Label1.

•	Um ScrollBar denominado ScrollBar1.

•	Um segundo Label denominado Label2.

•	Um Frame denominado Frame1.

•	Um TextBox denominado TextBox1 que se encontra dentro do Frame1.

Private Sub UserForm_Initialize()

    ScrollBar1.Max = 400

    ScrollBar1.Min = 10

    ScrollBar1.Value = 100

    Label1.Caption = "10  -----Porcentagem do Tamanho Original---- 400"

    Label2.Caption = ScrollBar1.Value

    Frame1.TextBox1.Text = "Digite o seu texto aqui."

    Frame1.TextBox1.MultiLine = True

    Frame1.TextBox1.WordWrap = True

    Frame1.Zoom = ScrollBar1.Value

End Sub

Private Sub ScrollBar1_Change()

    Frame1.Zoom = ScrollBar1.Value

    Label2.Caption = ScrollBar1.Value

End Sub


Exemplo da propriedade TextColumn

O exemplo a seguir utiliza a propriedade TextColumn para identificar a coluna de dados em um ListBox que fornece dados para a sua propriedade Text. Esse exemplo define a terceira coluna do ListBox como a coluna de texto. Quando você seleciona uma entrada do ListBox, o valor do TextColumn será exibido no Label.

Esse exemplo também demonstra como carregar um ListBox de multicolunas utilizando o método AddItem e a propriedade List.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um ListBox denominado ListBox1.

•	Um TextBox denominado TextBox1.

Private Sub UserForm_Initialize()

ListBox1.ColumnCount = 3

ListBox1.AddItem "Linha 1, Coluna 1"

ListBox1.List(0, 1) = "Linha 1, Coluna 2"

ListBox1.List(0, 2) = "Linha 1, Coluna 3"

ListBox1.AddItem "Linha 2, Coluna 1"

ListBox1.List(1, 1) = "Linha 2, Coluna 2"

ListBox1.List(1, 2) = "Linha 2, Coluna 3"

ListBox1.AddItem "Linha 3, Coluna 1"

ListBox1.List(2, 1) = "Linha 3, Coluna 2"

ListBox1.List(2, 2) = "Linha 3, Coluna 3"

ListBox1.TextColumn = 3

End Sub

Private Sub ListBox1_Change()

    TextBox1.Text = ListBox1.Text

End Sub


Exemplo da propriedade PictureSizeMode

O exemplo a seguir utiliza a propriedade PictureSizeMode para demonstrar três opções de exibição de uma figura: mostrar a figura como ela é, alterar o tamanho da figura mantendo as proporções originais e estender a figura para preencher um espaço.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um Frame denominado Frame1.

•	Um SpinButton denominado SpinButton1.

•	Um TextBox denominado TextBox1.

•	Três controles OptionButton denominados OptionButton1, OptionButon2 e OptionButton3.

Observação   Este exemplo é uma versão aperfeiçoada do exemplo da propriedade PictureAlignment, já que as duas propriedades se complementam. Os aprimoramentos constituem-se em três sub-rotinas de evento OptionButton que controlam se a imagem é recortada, aproximada ou alongada.

Dim Alignments(5) As String

Private Sub UserForm_Initialize()

    Alignments(0) = "0 - Superior Esquerda"

    Alignments(1) = "1 - Superior Direita"

    Alignments(2) = "2 - Centralizado"

    Alignments(3) = "3 - Inferior Esquerda"

    Alignments(4) = "4 - Inferior Direita"

    'Especificar um bitmap existente no seu sistema

    Frame1.Picture = LoadPicture("c:\winnt2\ball.bmp")

    SpinButton1.Min = 0

    SpinButton1.Max = 4

    SpinButton1.Value = 0

    TextBox1.Text = Alignments(0)

    Frame1.PictureAlignment = SpinButton1.Value

    OptionButton1.Caption = "Recortar"

    OptionButton1.Value = True

    OptionButton2.Caption = "Alongar"

    OptionButton3.Caption = “Aproximar”

End Sub

Private Sub OptionButton1_Click()

    If OptionButton1.Value = True Then

        Frame1.PictureSizeMode = fmPictureSizeModeClip

    End If

End Sub

Private Sub OptionButton2_Click()

    If OptionButton2.Value = True Then

        Frame1.PictureSizeMode = fmPictureSizeModeStretch

    End If

End Sub

Private Sub OptionButton3_Click()

    If OptionButton3.Value = True Then

        Frame1.PictureSizeMode = fmPictureSizeModeZoom

    End If

End Sub

Private Sub SpinButton1_Change()

    TextBox1.Text = Alignments(SpinButton1.Value)

    Frame1.PictureAlignment = SpinButton1.Value

End Sub

Private Sub TextBox1_Change()

    Select Case TextBox1.Text

    Case "0"

        TextBox1.Text = Alignments(0)

        Frame1.PictureAlignment = 0

    Case "1"

        TextBox1.Text = Alignments(1)

        Frame1.PictureAlignment = 1

    Case "2"

        TextBox1.Text = Alignments(2)

        Frame1.PictureAlignment = 2

    Case "3"

        TextBox1.Text = Alignments(3)

        Frame1.PictureAlignment = 3

    Case "4"

        TextBox1.Text = Alignments(4)

        Frame1.PictureAlignment = 4

    Case Else

        TextBox1.Text = Alignments(SpinButton1.Value)

        Frame1.PictureAlignment = SpinButton1.Value

    End Select

End Sub


Exemplo da propriedade PictureAlignment

O exemplo a seguir utiliza a propriedade PictureAlignment para configurar uma figura de segundo plano. O exemplo também identifica as opções de alinhamento fornecidas por PictureAlignment.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um Frame denominado Frame1.

•	Um SpinButton denominado SpinButton1.

•	Um TextBox denominado TextBox1.

Dim Alignments(5) As String

Private Sub UserForm_Initialize()

    Alignments(0) = "0 - Superior Esquerda"

    Alignments(1) = "1 - Superior Direita"

    Alignments(2) = "2 - Centralizado"

    Alignments(3) = "3 - Inferior Esquerda"

    Alignments(4) = "4 - Inferior Direita"

    'Especificar um bitmap existente no seu sistema

    Frame1.Picture = LoadPicture("c:\winnt2\ball.bmp")

    SpinButton1.Min = 0

    SpinButton1.Max = 4

    SpinButton1.Value = 0

    TextBox1.Text = Alignments(0)

    Frame1.PictureAlignment = SpinButton1.Value

End Sub

Private Sub SpinButton1_Change()

    TextBox1.Text = Alignments(SpinButton1.Value)

    Frame1.PictureAlignment = SpinButton1.Value

End Sub

Private Sub TextBox1_Change()

    Select Case TextBox1.Text

    Case "0"

        TextBox1.Text = Alignments(0)

        Frame1.PictureAlignment = 0

    Case "1"

        TextBox1.Text = Alignments(1)

        Frame1.PictureAlignment = 1

    Case "2"

        TextBox1.Text = Alignments(2)

        Frame1.PictureAlignment = 2

    Case "3"

        TextBox1.Text = Alignments(3)

        Frame1.PictureAlignment = 3

    Case "4"

        TextBox1.Text = Alignments(4)

        Frame1.PictureAlignment = 4

    Case Else

        TextBox1.Text = Alignments(SpinButton1.Value)

        Frame1.PictureAlignment = SpinButton1.Value

    End Select

End Sub


Exemplo da propriedade GroupName

O exemplo a seguir utiliza a propriedade GroupName para criar dois grupos de controles OptionButton no mesmo formulário.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha cinco controles OptionButton denominados OptionButton1 OptionButton2, OptionButton3, OptionButton4 e OptionButton5.

Private Sub UserForm_Initialize()

    OptionButton1.GroupName = "Widgets"

    OptionButton2.GroupName = "Widgets"

    OptionButton4.GroupName = "Widgets"

    OptionButton3.GroupName = "Gadgets-Group2"

    OptionButton5.GroupName = "Gadgets-Group2"

End Sub


Exemplo do método GetFromClipboard

O exemplo a seguir demonstra a movimentação dos dados de um TextBox para a Área de transferência, da Área de transferência para um DataObject e de um DataObject dentro de outro TextBox. O método GetFromClipboard transfere os dados da Área de transferência para um DataObject. Os métodos Copy e GetText também são utilizados.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Dois controles TextBox denominados TextBox1 e TextBox2.

•	Um CommandButton denominado CommandButton1.

Dim MyData as DataObject

Private Sub CommandButton1_Click()

    'É necessário copiar o texto antes de copiá-lo na Área de transferência

    TextBox1.SelStart = 0

    TextBox1.SelLength = TextBox1.TextLength

    TextBox1.Copy

    MyData.GetFromClipboard

    TextBox2.Text = MyData.GetText(1)

End Sub

Private Sub UserForm_Initialize()

    Set MyData = New DataObject

    TextBox1.Text = "Mover estes dados para a Área de transferência, para um DataObject e, em seguida, para TextBox2!"

End Sub


Exemplo do método PutInClipboard

O exemplo a seguir demonstra a movimentação dos dados de um TextBox para um DataObject, de um DataObject para a Área de transferência e da Área de transferência para outro TextBox. O Método PutInClipboard transfere dados de um DataObject para a Área de transferência. Os métodos SetText e Paste também são utilizados.

Para utilizar esse exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Dois controles TextBox denominados TextBox1 e TextBox2.

•	Um CommandButton denominado CommandButton1.

Dim MyData As DataObject

Private Sub CommandButton1_Click()

    Set MyData = New DataObject

    MyData.SetText TextBox1.Text

    MyData.PutInClipboard

    TextBox2.Paste

End Sub

Private Sub UserForm_Initialize()

    TextBox1.Text = "Mover estes dados para um DataObject, para a Área de transferência e, em seguida, para TextBox2!"

End Sub


Exemplo das propriedades DragBehavior e EnterFieldBehavior

O exemplo a seguir utiliza as propriedades DragBehavior e EnterFieldBehavior para demonstrar os diferentes resultados que você pode obter digitando um controle e arrastando as  informações de um controle para o outro.

O exemplo utiliza dois controles TextBox. Você pode definir DragBehavior e EnterFieldBehavior para cada controle e ver os resultados de arrastar de um controle para o outro.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um TextBox denominado TextBox1.

•	Dois controles ToggleButton denominados ToggleButton1 e ToggleButton2. Estes controles estão associados à TextBox1.

•	Um TextBox denominado TextBox2.

•	Dois controles ToggleButton denominados ToggleButton3 e ToggleButton4. Estes controles estão associados à TextBox2.

Private Sub UserForm_Initialize()

    TextBox1.Text = "Era uma vez em uma terra...,"

    ToggleButton1.Value = True

    ToggleButton1.Caption = "Arrastar Ativado"

    ToggleButton1.WordWrap = True

    TextBox1.DragBehavior = fmDragBehaviorEnabled

    ToggleButton2.Value = True

    ToggleButton2.Caption = "Rechamar a Seleção"

    ToggleButton2.WordWrap = True

    TextBox1.EnterFieldBehavior = fmEnterFieldBehaviorRecallSelection

    TextBox2.Text = "XXX, YYYY"

    ToggleButton3.Value = False

    ToggleButton3.Caption = "Arrastar Desativado"

    ToggleButton3.WordWrap = True

    TextBox2.DragBehavior = fmDragBehaviorDisabled

    ToggleButton4.Value = False

    ToggleButton4.Caption = "Selecionar Tudo"

    ToggleButton4.WordWrap = True

    TextBox2.EnterFieldBehavior = fmEnterFieldBehaviorSelectAll

End Sub

Private Sub ToggleButton1_Click()

    If ToggleButton1.Value = True Then

       ToggleButton1.Caption = "Arrastar Ativado"

       TextBox1.DragBehavior = fmDragBehaviorEnabled

    Else

       ToggleButton1.Caption = "Arrastar Desativado"

       TextBox1.DragBehavior = fmDragBehaviorDisabled

    End If

End Sub

Private Sub ToggleButton2_Click()

    If ToggleButton2.Value = True Then

        ToggleButton2.Caption = "Rechamar a Seleção"

        TextBox1.EnterFieldBehavior = fmEnterFieldBehaviorRecallSelection

    Else

        ToggleButton2.Caption = "Selecionar Tudo"

        TextBox1.EnterFieldBehavior = fmEnterFieldBehaviorSelectAll

    End If

End Sub

Private Sub ToggleButton3_Click()

    If ToggleButton3.Value = True Then

       ToggleButton3.Caption = "Arrastar Ativado"

       TextBox2.DragBehavior = fmDragBehaviorEnabled

    Else

       ToggleButton3.Caption = "Arrastar Desativado"

       TextBox2.DragBehavior = fmDragBehaviorDisabled

    End If

End Sub

Private Sub ToggleButton4_Click()

    If ToggleButton4.Value = True Then

        ToggleButton4.Caption = "Rechamar a Seleção"

        TextBox2.EnterFieldBehavior = fmEnterFieldBehaviorRecallSelection

    Else

       ToggleButton4.Caption = "Selecionar Tudo"

       TextBox2.EnterFieldBehavior = fmEnterFieldBehaviorSelectAll

    End If

End Sub


Exemplo dos métodos GetFormat, GetText e SetText

O exemplo a seguir utiliza os métodos GetFormat, GetText e SetText para transferir textos entre um DataObject e a Área de transferência.

O usuário digita o texto em um TextBox e, em seguida, pode transferi-lo para um DataObject em um formato padrão de texto clicando no CommandButton1. Clicar no CommandButton2 recupera o texto do DataObject. Clicar no CommandButton3 copia o texto do TextBox1 para o DataObject em um formato personalizado. Clicar no CommandButton4 recupera o texto do DataObject em um formato personalizado.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um TextBox denominado TextBox1.

•	Quatro controles CommandButton denominados CommandButton1, CommandButton2, CommandButton3 e CommandButton4.

•	Um Label denominado Label1.

Dim MyDataObject As DataObject

Private Sub CommandButton1_Click()

'Colocar o formato padrão na Área de transferência

    If TextBox1.TextLength > 0 Then

        Set MyDataObject = New DataObject

        MyDataObject.SetText TextBox1.Text

        Label1.Caption = "Coloque em D.O."

        CommandButton2.Enabled = True

        CommandButton4.Enabled = False

    End If

End Sub

Private Sub CommandButton2_Click()

'Obter um formato padrão a partir da Área de transferência

    If MyDataObject.GetFormat(1) = True Then

        Label1.Caption = "Formato padr. - " & MyDataObject.GetText(1)

    End If

End Sub

Private Sub CommandButton3_Click()

'Coloque o formato personalizado na Área de transferência

    If TextBox1.TextLength > 0 Then

        Set MyDataObject = New DataObject

        MyDataObject.SetText TextBox1.Text, 233

        Label1.Caption = "Personalizar no D.O."

        CommandButton4.Enabled = True

        CommandButton2.Enabled = False

    End If

End Sub

Private Sub CommandButton4_Click()

'Obter o formato personalizado da Área de transferência

    If MyDataObject.GetFormat(233) = True Then

        Label1.Caption = "Formato person.- " & MyDataObject.GetText(233)

End If

End Sub

Private Sub UserForm_Initialize()

    CommandButton2.Enabled = False

    CommandButton4.Enabled = False

End Sub


Exemplo da propriedade CanPaste e dos métodos Copy e Paste

O exemplo a seguir utiliza a propriedade CanPaste e o método Paste para colar um ComboBox da Área de transferência para um Page de um MultiPage. Este exemplo também utiliza os métodos SetFocus e Copy para copiar um controle de um formulário para a Área de transferência.

O usuário clica no CommandButton1 para copiar o ComboBox na Área de transferência. O usuário clica duas vezes (utilizando o evento DblClick) no CommandButton1 para colar o ComboBox no MultiPage.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um TextBox denominado TextBox1.

•	Um ComboBox denominado ComboBox1.

•	Um MultiPage denominado MultiPage1.

•	Um CommandButton denominado CommandButton1.

Observação   Esse exemplo também inclui uma sub-rotina para ilustrar a colagem de um texto em um controle.

Private Sub UserForm_Initialize()

    ComboBox1.AddItem "É um lindo dia!"

    CommandButton1.Caption = "Copiar a caixa de combinação na Área de transferência"

    CommandButton1.AutoSize = True

End Sub

Private Sub MultiPage1_DblClick(ByVal Index As Long, ByVal Cancel As MSForms.ReturnBoolean)

    If MultiPage1.Pages(MultiPage1.Value).CanPaste = True Then

        MultiPage1.Pages(MultiPage1.Value).Paste

    Else

        TextBox1.Text = "Não é possível Colar"

    End If

End Sub

Private Sub CommandButton1_Click()

        UserForm1.ComboBox1.SetFocus

        UserForm1.Copy

End Sub

'Código para colar texto em um controle

'Private Sub ComboBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)

'   If ComboBox1.CanPaste = True Then

'        ComboBox1.Paste

'    Else

'        TextBox1.Text = "Impossível Colar"

'    End If

'End Sub


Exemplo do controle ScrollBar

O exemplo a seguir demonstra o ScrollBar autônomo e informa a alteração no seu valor à medida que o usuário move a caixa de rolagem. O usuário pode mover a caixa de rolagem clicando em uma das setas nas extremidades do controle, clicando na área entre a caixa de rolagem e uma das setas ou arrastando a caixa de rolagem. Quando o usuário arrasta a caixa de rolagem, o evento Scroll exibe uma mensagem indicando que o usuário rolou para obter o novo valor.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um ScrollBar denominado ScrollBar1.

•	Dois controles Label denominados Label1 e Label2. Label1 contém informações sobre representação em escala para o usuário. Label2 informa o valor delta.

Dim ScrollSaved As Integer        'Definição anterior de ScrollBar

Private Sub UserForm_Initialize()

    ScrollBar1.Min = -225

    ScrollBar1.Max = 289

    ScrollBar1.Value = 0

    Label1.Caption = "-225  -----Widgets-----   289"

    Label1.AutoSize = True

    Label2.Caption = ""

End Sub

Private Sub ScrollBar1_Change()

    Label2.Caption = " Alterações Widget " & (ScrollSaved - ScrollBar1.Value)

End Sub

Private Sub ScrollBar1_Exit(ByVal Cancel as MSForms.ReturnBoolean)

    Label2.Caption = " Alterações Widget " & (ScrollSaved - ScrollBar1.Value)

    ScrollSaved = ScrollBar1.Value

End Sub

Private Sub ScrollBar1_Scroll()

    Label2.Caption = (ScrollSaved - ScrollBar1.Value) & " Alterações no Widget por Rolagem"

End Sub


Exemplo das propriedades CanUndo e CanRedo e dos métodos UndoAction e RedoAction

O exemplo a seguir demonstra como desfazer ou refazer edição de texto dentro de uma caixa de texto ou dentro da área de texto de um ComboBox. Esse exemplo verifica se uma operação de desfazer ou refazer pode ou não ocorrer e, em seguida, executa a ação adequada. Esse exemplo utiliza as propriedades CanUndo e CanRedo e os métodos UndoAction e RedoAction.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um TextBox denominado TextBox1.

•	Um ComboBox denominado ComboBox1.

•	Dois controles CommandButton denominados CommandButton1 e CommandButton2.

Private Sub CommandButton1_Click()

    If UserForm1.CanUndo = True Then

        UserForm1.UndoAction

        MsgBox "Desfeito"

    Else

        MsgBox "Nenhuma ação de desfazer foi executada."

    End If

End Sub

Private Sub CommandButton2_Click()

    If UserForm1.CanRedo = True Then

        UserForm1.RedoAction

        MsgBox "Refeito"

    Else

        MsgBox "Nenhuma ação de refazer foi executada."

    End If

End Sub

Private Sub UserForm_Initialize()

    TextBox1.Text = "Digite aqui o seu texto."

    ComboBox1.ColumnCount = 3

    ComboBox1.AddItem "Escolha 1, coluna 1"

    ComboBox1.List(0, 1) = "Escolha 1, coluna 2"

    ComboBox1.List(0, 2) = "Escolha 1, coluna 3"

    CommandButton1.Caption = "Desfazer"

    CommandButton2.Caption = "Refazer"

End Sub


Exemplo da propriedade BoundColumn

O exemplo a seguir demonstra como a propriedade BoundColumn influencia o valor de um ListBox. O usuário pode escolher definir o valor do ListBox como o valor do índice da linha especificada ou como uma coluna específica de dados no ListBox.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um ListBox denominado ListBox1.

•	Um Label denominado Label1.

•	Três controles OptionButton denominados OptionButton1, OptionButton2 e OptionButton3.

Private Sub UserForm_Initialize()

    ListBox1.ColumnCount = 2

    ListBox1.AddItem "Item 1, Coluna 1"

    ListBox1.List(0, 1) = "Item 1, Coluna 2"

    ListBox1.AddItem "Item 2, Coluna 1"

    ListBox1.List(1, 1) = "Item 2, Coluna 2"

    ListBox1.Value = "Item 1, Coluna 1"

    OptionButton1.Caption = "Índice da Lista"

    OptionButton2.Caption = "Coluna 1"

    OptionButton3.Caption = "Coluna 2"

    OptionButton2.Value = True

End Sub

Private Sub OptionButton1_Click()

    ListBox1.BoundColumn = 0

    Label1.Caption = ListBox1.Value

End Sub

Private Sub OptionButton2_Click()

    ListBox1.BoundColumn = 1

    Label1.Caption = ListBox1.Value

End Sub

Private Sub OptionButton3_Click()

    ListBox1.BoundColumn = 2

    Label1.Caption = ListBox1.Value

End Sub

Private Sub ListBox1_Click()

    Label1.Caption = ListBox1.Value

End Sub


Exemplo da propriedade List

O exemplo a seguir troca colunas de um ListBox de multicolunas. O exemplo utiliza a propriedade List de duas formas:

1.	Para acessar e trocar valores individuais no ListBox. Nesse caso, List possui subscritos para designar a linha e a coluna de um valor específico.

2.	Para carregar inicialmente o ListBox com valores de uma matriz. Nesse uso, List não possui subscritos.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha um ListBox denominado ListBox1 e um CommandButton denominado CommandButton1.

Dim MyArray(6, 3)           'Matriz contendo valores de coluna do ListBox.

Private Sub UserForm_Initialize()

    Dim i As Single

    ListBox1.ColumnCount = 3        'Esta caixa de listagem contém 3 colunas de dados

    'Carregar valores inteiros MyArray

    For i = 0 To 5

        MyArray(i, 0) = i

        MyArray(i, 1) = Rnd

        MyArray(i, 2) = Rnd

    Next i

    'Carregar ListBox1

    ListBox1.List() = MyArray

End Sub

Private Sub CommandButton1_Click()

'Intercambiar conteúdo das colunas 1 e 3

    Dim i As Single

    Dim Temp As Single

    For i = 0 To 5

        Temp = ListBox1.List(i, 0)

        ListBox1.List(i, 0) = ListBox1.List(i, 2)

        ListBox1.List(i, 2) = Temp

    Next i

End Sub


Exemplo das propriedades ClientHeight, ClientLeft, ClientTop e ClientWidth

O exemplo a seguir define as dimensões de um Image em relação ao tamanho de uma área de cliente do TabStrip quando o usuário clica em um CommandButton. O código a seguir utiliza as seguintes propriedades: Height, Left, Top, Width, ClientHeight, ClientLeft, ClientTop e ClientWidth.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um CommandButton denominado CommandButton1.

•	Um TabStrip denominado TabStrip1.

•	Um Image denominado Image1.

Private Sub UserForm_Initialize()

CommandButton1.Caption = "Dimensionar Imagem em relação a Área da Guia"

CommandButton1.WordWrap = True

CommandButton1.AutoSize = True

End Sub

Private Sub CommandButton1_Click()

Image1.ZOrder (fmFront)                  'Colocar Imagem em frente a TabStrip

'ClientLeft e ClientTop são medidos a partir da borda do TabStrip,

'e não a partir das bordas do formulário contendo o TabStrip.

Image1.Left = TabStrip1.Left + TabStrip1.ClientLeft

Image1.Top = TabStrip1.Top + TabStrip1.ClientTop

Image1.Width = TabStrip1.ClientWidth

Image1.Height = TabStrip1.ClientHeight

End Sub


Exemplo das propriedades MultiLine, WordWrap e ScrollBars

O exemplo a seguir demonstra as propriedades MultiLine, WordWrap e ScrollBars em um TextBox.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um TextBox denominado TextBox1.

•	Quatro controles ToggleButton denominados ToggleButton1 a ToggleButton4.

Para ver o texto inteiro colocado no TextBox, defina as propriedades MultiLine e WordWrap como True clicando nos controles ToggleButton.

Quando MultiLine for True, você poderá digitar novas linhas de texto pressionando SHIFT+ENTER.

A propriedade ScrollBars aparece quando você altera manualmente o conteúdo do TextBox.

Private Sub UserForm_Initialize()

'Inicializar as propriedades TextBox e o botões de alternância

TextBox1.Text = "Digite aqui seu texto. Digite SHIFT+ENTER para mover-se para uma nova linha."

TextBox1.AutoSize = False

ToggleButton1.Caption = "AutoSize Desativado"

ToggleButton1.Value = False

ToggleButton1.AutoSize = True

TextBox1.WordWrap = False

ToggleButton2.Caption = "Quebra de Linha Desativada"

ToggleButton2.Value = False

ToggleButton2.AutoSize = True

TextBox1.ScrollBars = 0

ToggleButton3.Caption = "Barras de Rolagem Desativadas

ToggleButton3.Value = False

ToggleButton3.AutoSize = True

TextBox1.MultiLine = False

ToggleButton4.Caption = "Linha Única"

ToggleButton4.Value = False

ToggleButton4.AutoSize = True

 End Sub

Private Sub ToggleButton1_Click()

'Definir a propriedade AutoSize e o ToggleButton correlato

If ToggleButton1.Value = True Then

TextBox1.AutoSize = True

ToggleButton1.Caption = "AutoSize Ativado"

Else

TextBox1.AutoSize = False

ToggleButton1.Caption = "AutoSize Desativado"

End If

End Sub

Private Sub ToggleButton2_Click()

'Definir a propriedade WordWrap e o ToggleButton correlato

If ToggleButton2.Value = True Then

TextBox1.WordWrap = True

ToggleButton2.Caption = "WordWrap Ativada"

Else

TextBox1.WordWrap = False

ToggleButton2.Caption = "WordWrap Desativada"

End If

End Sub

Private Sub ToggleButton3_Click()

'Defina a propriedade ScrollBars e o ToggleButton correlato

If ToggleButton3.Value = True Then

TextBox1.ScrollBars = 3

ToggleButton3.Caption = "ScrollBars Ativada"

Else

TextBox1.ScrollBars = 0

ToggleButton3.Caption = "ScrollBars Desativada"

End If

End Sub

Private Sub ToggleButton4_Click()

'Defina a propriedade MultiLine e o ToggleButton correlato

If ToggleButton4.Value = True Then

TextBox1.MultiLine = True

ToggleButton4.Caption = "Linhas Múltiplas"

Else

TextBox1.MultiLine = False

ToggleButton4.Caption = " Linha Única”

End If

End Sub


Exemplo da operação Arrastar-e-Soltar

O exemplo a seguir demonstra uma operação arrastar-e-soltar de um ListBox para outro utilizando um DataObject para conter o texto arrastado. Este exemplo de código utiliza os métodos SetText e StartDrag no evento MouseMove para implementar a operação arrastar-e-soltar.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha dois controles ListBox denominados ListBox1 e ListBox2. Você precisa, também, adicionar escolhas ao segundo ListBox.

Private Sub ListBox2_BeforeDragOver(ByVal Cancel As MSForms.ReturnBoolean, ByVal Data As MSForms.DataObject, ByVal X As Single, ByVal Y As Single, ByVal DragState As Long, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As Integer)

    Cancel = True

    Effect = 1

End Sub

Private Sub ListBox2_BeforeDropOrPaste(ByVal Cancel As MSForms.ReturnBoolean, ByVal Action As Long, ByVal Data As MSForms.DataObject, ByVal X As Single, ByVal Y As Single, ByVal Effect As MSForms.ReturnEffect, ByVal Shift As Integer)

    Cancel = True

    Effect = 1

    ListBox2.AddItem Data.GetText

End Sub

Private Sub ListBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

    Dim MyDataObject As DataObject

    If Button = 1 Then

        Set MyDataObject = New DataObject

        Dim Effect As Integer

        MyDataObject.SetText ListBox1.Value

        Effect = MyDataObject.StartDrag

    End If

End Sub

Private Sub UserForm_Initialize()

    For i = 1 To 10

        ListBox1.AddItem "Escolha " & (ListBox1.ListCount + 1)

    Next i

End Sub


Exemplo de como acessar uma página

O exemplo a seguir acessa uma página de um MultiPage de várias maneiras:

•	Utilizando a coleção Pages com um índice numérico.

•	Utilizando a coleção Pages com um índice de seqüência.

•	Utilizando a coleção Pages com o método Item.

•	Utilizando o nome da página no MultiPage.

•	Utilizando a propriedade SelectedItem.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha um MultiPage denominado MultiPage1.

Private Sub UserForm_Initialize()

    Dim PageNAme As String

    For i = 0 To MultiPage1.Count - 1

        'Utilize índice (numérico ou seqüência)

        MsgBox "MultiPage1.Pages (i).Caption = " & MultiPage1.Pages.Item(i).Caption

        MsgBox “MultiPage1.Pages.Item(i).Caption = " & MultiPage1.Pages(i).Caption

        PageNAme = MultiPage1.Pages(i).Name

        MsgBox "PageName = " & PageNAme

        MsgBox "MultiPage1.Pages(PageName).Caption = " & MultiPage1.Pages(PageNAme).Caption

        MsgBox "MultiPage1.Pages.Item(PageName).Caption = " & MultiPage1.Pages.Item(PageNAme).Caption

        'Utilize objeto Page sem remeter-se à coleção Pages

        If i = 0 Then

            MsgBox "MultiPage1.Page1.Caption = " & MultiPage1.Page1.Caption

        ElseIf i = 1 Then

            MsgBox "MultiPage1.Page2.Caption = " & MultiPage1.Page2.Caption

        End If

        'Utilizar propriedade SelectedItem

        MultiPage1.Value = i

        MsgBox "MultiPage1.MultiPage1.SelectedItem.Caption = " & MultiPage1.SelectedItem.Caption

    Next i

End Sub


Exemplo de como adicionar um controle

O exemplo a seguir utiliza o método Add para adicionar um controle a um formulário em tempo de execução e utiliza o evento AddControl como confirmação de que o controle foi adicionado.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um CommandButton denominado CommandButton1.

•	Um Label denominado Label1.

Dim Mycmd as Control

Private Sub CommandButton1_Click()

Set Mycmd = Controls.Add("Forms.CommandButton.1") ', CommandButton2, Visible)

Mycmd.Left = 18

Mycmd.Top = 150

Mycmd.Width = 175

Mycmd.Height = 20

Mycmd.Caption = "É divertido." & Mycmd.Name

End Sub

Private Sub UserForm_AddControl(ByVal Control As MSForms.Control)

Label1.Caption = "O Controle foi adicionado."

End Sub


Exemplo de como adicionar um controle a um MultiPage

O exemplo a seguir utiliza os métodos Add, Clear e Remove para adicionar e remover um controle em um Page de um MultiPage em tempo de execução.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um MultiPage denominado MultiPage1.

•	Três controles CommandButton denominados CommandButton1, CommandButton2 e CommandButton3.

Dim MyTextBox As Control

Private Sub CommandButton1_Click()

Set MyTextBox = MultiPage1.Pages(0).Controls.Add("Forms.TextBox.1", "MyTextBox", Visible)

End Sub

Private Sub CommandButton2_Click()

MultiPage1.Pages(0).Controls.Clear

End Sub

Private Sub CommandButton3_Click()

If MultiPage1.Pages(0).Controls.Count > 0 Then

MultiPage1.Pages(0).Controls.Remove "MyTextBox"

End If

End Sub

Private Sub UserForm_Initialize()

CommandButton1.Caption = "Adicionar controle"

CommandButton2.Caption = "Limpar controles"

CommandButton3.Caption = "Remover controle"

End Sub


Exemplo do controle ListBox

O exemplo a seguir adiciona e exclui o conteúdo de um ListBox utilizando os métodos AddItem, RemoveItem e SetFocus e as propriedades ListIndex e ListCount.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um ListBox denominado ListBox1.

•	Dois controles CommandButton denominados CommandButton1 e CommandButton2.

Dim EntryCount As Single

Private Sub CommandButton1_Click()

    EntryCount = EntryCount + 1

    ListBox1.AddItem (EntryCount & " - Seleção")

End Sub

Private Sub CommandButton2_Click()

    ListBox1.SetFocus

    'Assegurar que a ListBox contenha os itens da lista

    If ListBox1.ListCount >= 1 Then

        'Se não houver seleção, escolha o último item da lista.

        If ListBox1.ListIndex = -1 Then

            ListBox1.ListIndex = ListBox1.ListCount - 1

        End If

        ListBox1.RemoveItem (ListBox1.ListIndex)

    End If

End Sub

Private Sub UserForm_Initialize()

    EntryCount = 0

    CommandButton1.Caption = "Adicionar Item"

    CommandButton2.Caption = "Remover Item"

End Sub


Exemplo do método ZOrder

O exemplo a seguir configura a ordem-z de um TextBox para que o usuário possa exibir o TextBox inteiro (trazendo-o para a frente da ordem-z) ou possa colocar o TextBox atrás de outros controles (enviando-o para trás da ordem-z).

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Três controles TextBox denominados TextBox1, TextBox2 e TextBox3.

•	Um ToggleButton denominado ToggleButton1.

Private Sub ToggleButton1_Click()

If ToggleButton1.Value = True Then

TextBox2.ZOrder (fmTop)          'Coloque TextBox2 no topo da ordem z

'Atualize a legenda ToggleButton para identificar o próximo estado

ToggleButton1.Caption = "Enviar TextBox2 para trás"

Else

TextBox2.ZOrder (1)              'Colocar TextBox2 no final da ordem z

'Atualizar a legenda ToggleButton para identificar o próximo estado

ToggleButton1.Caption = "Trazer TextBox2 para Frente"

End If

End Sub

Private Sub UserForm_Initialize()

'Definir as caixas de texto para mostrar a ordem z no formulário

TextBox1.Text = "TextBox 1"

TextBox2.Text = "TextBox 2"

TextBox3.Text = "TextBox 3"

TextBox1.Height = 40

TextBox2.Height = 40

TextBox3.Height = 40

TextBox1.Width = 60

TextBox2.Width = 60

TextBox3.Width = 60

TextBox1.Left = 10

TextBox1.Top = 10

TextBox2.Left = 25      'Sobrepor o TextBox2 ao TextBox1

TextBox2.Top = 25

TextBox3.Left = 40      'Sobrepor o TextBox3 ao TextBox2, TextBox1

TextBox3.Top = 40

ToggleButton1.Value = False

ToggleButton1.Caption = "Trazer TextBox2 para Frente"

ToggleButton1.Left = 10

ToggleButton1.Top = 90

ToggleButton1.Width = 50

ToggleButton1.Height = 50

End Sub


Exemplo das propriedades Accelerator e Caption

Esse exemplo altera as propriedades Accelerator e Caption de um CommandButton cada vez que o usuário clica no botão utilizando o mouse ou a tecla aceleradora. O evento Click contém o código para alterar as propriedades Accelerator e Caption.

Para testar este exemplo, cole o código na seção de Declarações de um formulário que contenha um CommandButton denominado CommandButton1.

Private Sub UserForm_Initialize()

CommandButton1.Accelerator  = "C"       'Defina a tecla aceleradora como ALT + C

End Sub

Private Sub CommandButton1_Click ()

If CommandButton1.Caption = "OK" Then   'Verifique legenda, e depois altere-a.

CommandButton1.Caption = "Clicado"

CommandButton1.Accelerator  = "C"    'Defina a tecla Aceleradora para ALT + C

Else

CommandButton1.Caption = "OK"

CommandButton1.Accelerator  = "O"    'Defina a tecla Aceleradora para ALT + O

End If

End Sub


Exemplo da propriedade AutoSize

O exemplo a seguir demonstra os efeitos da propriedade AutoSize com um TextBox de linha única e um TextBox de multilinhas. O usuário pode digitar texto em qualquer um dos TextBox e ativar ou desativar o AutoSize independentemente do conteúdo do TextBox. Este exemplo de código utiliza, também, a propriedade Text.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Dois controles TextBox denominados TextBox1 e TextBox2.

•	Um ToggleButton denominado ToggleButton1.

Private Sub UserForm_Initialize()

    TextBox1.Text = "TextBox de linha única. Digite aqui o seu texto."

    TextBox2.MultiLine = True

    TextBox2.Text = "TextBox de multilinhas. Digite aqui seu texto. Utilize CTRL+ENTER para iniciar uma nova linha."

    ToggleButton1.Value = True

    ToggleButton1.Caption = "AutoSize Ativado"

    TextBox1.AutoSize = True

    TextBox2.AutoSize = True

End Sub

Private Sub ToggleButton1_Click()

    If ToggleButton1.Value = True Then

        ToggleButton1.Caption = "AutoSize Ativado"

        TextBox1.AutoSize = True

        TextBox2.AutoSize = True

    Else

        ToggleButton1.Caption = "AutoSize Desativado"

        TextBox1.AutoSize = False

        TextBox2.AutoSize = False

    End If

End Sub


Exemplo das propriedades Bold, Italic, Size, StrikeThrough, Underline e Weight

O exemplo a seguir demonstra um objeto Font e as propriedades Bold, Italic, Size, StrikeThrough, Underline e Weight relacionadas a fontes. Você pode manipular as propriedades de fonte de um objeto diretamente ou utilizando um alias, conforme mostra, também, este exemplo.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um Label denominado Label1.

•	Quatro controles ToggleButton denominados ToggleButton1, ToggleButton2, ToggleButton3 e ToggleButton4.

•	Um segundo Label e um TextBox denominados Label2 e TextBox1, respectivamente.

Dim MyFont As StdFont

Private Sub ToggleButton1_Click()

    If ToggleButton1.Value = True Then

        MyFont.Bold = True            'Utilizando o alias MyFont para controlar a fonte

        ToggleButton1.Caption = "Bold Ativado"

        MyFont.Size = 22              'Aumentar o tamanho da fonte

    Else

        MyFont.Bold = False

        ToggleButton1.Caption = "Bold Desativado"

        MyFont.Size = 8               'Retornar a fonte ao tamanho inicial

    End If

    TextBox1.Text = Str(MyFont.Weight)  'Bold e Weight são relacionados

End Sub

Private Sub ToggleButton2_Click()

    If ToggleButton2.Value = True Then

        Label1.Font.Italic = True            'Utilizando Label1.Font diretamente

        ToggleButton2.Caption = "Itálico Ativado"

    Else

        Label1.Font.Italic = False

        ToggleButton2.Caption = "Itálico Desativado"

    End If

End Sub

Private Sub ToggleButton3_Click()

    If ToggleButton3.Value = True Then

        Label1.Font.Strikethrough = True            'Utilizando Label1.Font diretamente

        ToggleButton3.Caption = "StrikeThrough Ativado"

    Else

        Label1.Font.Strikethrough = False

        ToggleButton3.Caption = "StrikeThrough Desativado"

    End If

End Sub

Private Sub ToggleButton4_Click()

    If ToggleButton4.Value = True Then

        MyFont.Underline = True            'Utilizando o alias MyFont para Label1.Font

        ToggleButton4.Caption = "Sublinhar Ativado"

    Else

        Label1.Font.Underline = False

        ToggleButton4.Caption = "Sublinhar Desativado"

    End If

End Sub

Private Sub UserForm_Initialize()

    Set MyFont = Label1.Font

    ToggleButton1.Value = True

    ToggleButton1.Caption = "Bold Ativado"

    Label1.AutoSize = True	'Definir tamanho de Label1

    Label1.AutoSize = False

    ToggleButton2.Value = False

    ToggleButton2.Caption = "Itálico Desativado"

    ToggleButton3.Value = False

    ToggleButton3.Caption = "StrikeThrough Desativado"

    ToggleButton4.Value = False

    ToggleButton4.Caption = "Sublinhar Desativado"

    Label2.Caption = "Peso da Fonte "

    TextBox1.Text = Str(Label1.Font.Weight)

    TextBox1.Enabled = False

End Sub


Exemplo de aprimoramentos de cor e borda

O exemplo a seguir demonstra as propriedades BorderStyle e SpecialEffect, exibindo cada borda disponível através dessas propriedades. O exemplo também demonstra como controlar as definições de cores utilizando as propriedades BackColor, BackStyle, BorderColor e ForeColor.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Seis controles TextBox denominados TextBox1, TextBox2, TextBox3, TextBox4, TextBox5 e TextBox6.

•	Dois controles ToggleButton denominados ToggleButton1 e ToggleButton2.

Private Sub UserForm_Initialize()

'Inicializar cada TextBox com um estilo de borda ou efeito especial

'e cores para primeiro e segundo planos

'O TextBox1 inicialmente utiliza um estilo de borda

TextBox1.Text = "BorderStyle-Simples"

TextBox1.BorderStyle = fmBorderStyleSingle

TextBox1.BorderColor = RGB(255, 128, 128)   'Cor - Salmão

TextBox1.ForeColor = RGB(255, 255, 0)       'Cor - Amarelo

TextBox1.BackColor = RGB(0, 128, 64)        'Cor - Verde #2

'Os TextBoxes 2 a 6 inicialmente utilizam efeitos especiais

TextBox2.Text = "Plano"

TextBox2.SpecialEffect = fmSpecialEffectFlat

TextBox2.ForeColor = RGB(64, 0, 0)          'Cor - Marrom

TextBox2.BackColor = RGB(0, 0, 255)         'Cor - Azul

'Assegurar que o estilo do segundo plano para o TextBox2 seja inicialmente opaco.

TextBox2.BackStyle = fmBackStyleOpaque

TextBox3.Text = "Esboçado "

TextBox3.SpecialEffect = fmSpecialEffectEtched

TextBox3.ForeColor = RGB(128, 0, 255)       'Cor - Púrpura

TextBox3.BackColor = RGB(0, 255, 255)       'Cor - Ciano

'Definir BorderColor para uso posterior (quando borderstyle=fmBorderStyleSingle)

TextBox3.BorderColor = RGB(0, 0, 0)         'Cor - Preto

TextBox4.Text = "Irregular"

TextBox4.SpecialEffect = fmSpecialEffectBump

TextBox4.ForeColor = RGB(255, 0, 255)       'Cor - Magenta

TextBox4.BackColor = RGB(0, 0, 100)         'Cor - Azul marinho

TextBox5.Text = "Alto Relevo"

TextBox5.SpecialEffect = fmSpecialEffectRaised

TextBox5.ForeColor = RGB(255, 0, 0)         'Cor - Vermelho

TextBox5.BackColor = RGB(128, 128, 128)     'Cor - Cinza

TextBox6.Text = "Baixo Relevo"

TextBox6.SpecialEffect = fmSpecialEffectSunken

TextBox6.ForeColor = RGB(0, 64, 0)          'Cor - Oliva

TextBox6.BackColor = RGB(0, 255, 0)         'Cor - Verde #1

ToggleButton1.Caption = "Estilos de permuta"

ToggleButton2.Caption = " Segundo plano Transparente/Opaco "

End Sub

Private Sub ToggleButton1_Click()

'Trocar bordas entre TextBox1 e TextBox3

If ToggleButton1.Value = True Then

'Alterar TextBox1 a partir BorderStyle para Esboçado

TextBox1.Text = "Esboçado"

TextBox1.SpecialEffect = fmSpecialEffectEtched

'Alterar TextBox3 a partir de Esboçado para EstiloDaBorda

TextBox3.Text = "BorderStyle-Simples"

TextBox3.BorderStyle = fmBorderStyleSingle

Else

'Alterar TextBox1 de volta para EstiloDaBorda

TextBox1.Text = "BorderStyle-Simples"

TextBox1.BorderStyle = fmBorderStyleSingle

'Alterar TextBox3 de volta para Esboçado

TextBox3.Text = "Esboçado"

TextBox3.SpecialEffect = fmSpecialEffectEtched

End If

End Sub

Private Sub ToggleButton2_Click()

'Definir segundo plano para Opaco ou Transparente

If ToggleButton2.Value = True Then

'Alterar TextBox2 para um segundo plano transparente

TextBox2.BackStyle = fmBackStyleTransparent

Else

'Alterar TextBox2 de volta para segundo plano opaco

TextBox2.BackStyle = fmBackStyleOpaque

End If

End Sub


Exemplo da propriedade Column

'

O exemplo seguinte carrega uma matriz bidimensional com dados e, a seguir, carrega dois controles ListBox utilizando as propriedades Column e List. Observe que a propriedade Column transpõe os elementos da matriz durante o carregamento.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha dois controles ListBox denominados ListBox1 e ListBox2.

Dim MyArray(6,3)

Private Sub UserForm_Initialize()

    Dim i As Single

    ListBox1.ColumnCount = 3        'A primeira caixa de lista contém 3 colunas de dados

    ListBox2.ColumnCount = 6        'A segunda caixa contém 6 colunas de dados

    'Carregar valores integrais na primeira coluna de MyArray

    For i = 0 To 5

        MyArray(i, 0) = i

    Next i

    'Carregar 2 e 3 de MyArray

    MyArray(0, 1) = "Zero"

    MyArray(1, 1) = "Um"

    MyArray(2, 1) = "Dois"

    MyArray(3, 1) = "Três"

    MyArray(4, 1) = "Quatro"

    MyArray(5, 1) = "Cinco"

    MyArray(0, 2) = "Zero"

    MyArray(1, 2) = "Un ou Une"

    MyArray(2, 2) = "Deux"

    MyArray(3, 2) = "Trois"

    MyArray(4, 2) = "Quatre"

    MyArray(5, 2) = "Cinq"

    'Carregar dados em ListBox1 and ListBox2

    ListBox1.List() = MyArray

    ListBox2.Column() = MyArray

End Sub


Exemplo da propriedade ColumnWidths

O exemplo a seguir utiliza a propriedade ColumnWidths para alterar a largura da coluna de um ListBox de multicolunas. O exemplo utiliza três controles TextBox para especificar as larguras de cada coluna e utiliza o evento Exit para especificar as unidades de medida de cada TextBox.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um ListBox denominado ListBox1.

•	Três controles TextBox denominados TextBox1, TextBox2 e TextBox3.

•	Um CommandButton denominado CommandButton1.

Tente digitar o valor 0 para ocultar uma coluna.

Dim MyArray(2, 3) As String

Private Sub CommandButton1_Click()

'ColumnWidths requer um valor para cada coluna separada por ponto-e-vírgula

ListBox1.ColumnWidths = TextBox1.Text & ";" & TextBox2.Text & ";" & TextBox3.Text

End Sub

Private Sub TextBox1_Exit(ByVal Cancel as MSForms.ReturnBoolean)

'ColumnWidths aceita pontos (e não unidades), polegadas ou centímetros; torne polegadas o padrão

If Not (InStr(TextBox1.Text, "pol") > 0 Or InStr(TextBox1.Text, "cm") > 0) Then

TextBox1.Text = TextBox1.Text & " pol"

End If

End Sub

Private Sub TextBox2_Exit(ByVal Cancel as MSForms.ReturnBoolean)

'ColumnWidths aceita pontos (e não unidades), polegadas ou centímetros; torna polegadas o padrão

If Not (InStr(TextBox2.Text, "pol") > 0 Or InStr(TextBox2.Text, "cm") > 0) Then

TextBox2.Text = TextBox2.Text & " pol"

End If

End Sub

Private Sub TextBox3_Exit(ByVal Cancel as MSForms.ReturnBoolean)

' ColumnWidths aceita pontos (e não unidades), polegadas ou centímetros; torna polegadas o padrão

If Not (InStr(TextBox3.Text, "pol") > 0 Or InStr(TextBox3.Text, "cm") > 0) Then

TextBox3.Text = TextBox3.Text & " pol"

End If

End Sub

Private Sub UserForm_Initialize()

Dim i, j, Rows As Single

ListBox1.ColumnCount = 3

Rows = 2

For j = 0 To ListBox1.ColumnCount - 1

For i = 0 To Rows - 1

MyArray(i, j) = "Row " & i & ", Coluna " & j

Next i

Next j

ListBox1.List() = MyArray           'Carregar MyArray no ListBox1

TextBox1.Text = "1 in"              'Colunas de 1 polegada inicialmente

TextBox2.Text = "1 pol"

TextBox3.Text = "1 pol"

End Sub


Exemplo da propriedade ControlTipText

O exemplo a seguir define a propriedade ControlTipText para três controles CommandButton e dois objetos Page em um MultiPage.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um MultiPage denominado MultiPage1.

•	Três controles CommandButton denominados CommandButton1, CommandButton2 e CommandButton3.

Observação   Para um Page de um MultiPage, a propriedade ControlTipText é ativada quando o MultiPage ou um controle na página atual do MultiPage tem o foco.

Private Sub UserForm_Initialize()

MultiPage1.Page1.ControlTipText = "Aqui na página 1"

MultiPage1.Page2.ControlTipText = "Agora na página 2"

CommandButton1.ControlTipText = "E agora aqui está"

CommandButton2.ControlTipText = "uma dica de"

CommandButton3.ControlTipText = "seus controles!"

End Sub


Exemplo das propriedades CurLine, CurTargetX, CurX e Text

O exemplo a seguir rastreia as configurações das propriedades CurLine, CurTargetX e CurX em um TextBox de multilinhas. Essas configurações são alteradas no evento KeyUp à medida que o usuário digita na propriedade Text, move o ponto de inserção e expande a seleção utilizando o teclado.

Para utilizar esse exemplo, siga estes passos:

1.	Copie esse código de exemplo na parte de Declarações de um formulário.

2.	Adicione ao formulário um TextBox grande denominado TextBox1.

3.	Adicione três controles TextBox denominadosTextBox2, TextBox3 e TextBox4 em uma coluna.

Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

TextBox2.Text = TextBox1.CurLine

TextBox3.Text = TextBox1.CurX

TextBox4.Text = TextBox1.CurTargetX

End Sub

Private Sub UserForm_Initialize()

TextBox1.MultiLine = True

TextBox1.Text = "Digite aqui seu texto. Utilize CTRL + ENTER para iniciar uma nova linha. "

End Sub


Exemplo da propriedade HideSelection

'

O exemplo a seguir demonstra a propriedade HideSelection tanto no contexto de um único formulário como de vários formulários. O usuário pode selecionar texto em um TextBox e TAB para outros controles de um formulário, bem como transferir o foco para um segundo formulário. O código a seguir utiliza o método SetFocus e as propriedades EnterFieldBehavior, MultiLine e Value.

Para utilizar esse exemplo, siga estes passos:

1.	Copie este código de exemplo (exceto a última sub-rotina de evento) na parte de Declarações de um formulário.

2.	Adicione um TextBox grande denominada TextBox1, um ToggleButton denominado ToggleButton1 e um CommandButton denominado CommandButton1.

3.	Insira um segundo formulário neste projeto denominado UserForm2.

4.	Cole a última sub-rotina desta listagem na parte de Declarações do UserForm2.

5.	Neste formulário, adicione um CommandButton denominado CommandButton1.

6.	Execute o UserForm1.

' ***** Codigo para UserForm1 *****

Private Sub CommandButton1_Click()

TextBox1.SetFocus

UserForm2.Show                     'Traga p segundo formulário.

End Sub

Private Sub ToggleButton1_Click()

If ToggleButton1.Value = True Then

TextBox1.HideSelection = False

ToggleButton1.Caption = "Seleção Visível"

Else

TextBox1.HideSelection = True

ToggleButton1.Caption = "Seleção Oculta"

End If

End Sub

Private Sub UserForm_Initialize()

TextBox1.MultiLine = True

TextBox1.EnterFieldBehavior = fmEnterFieldBehaviorRecallSelection

'Preencha o TextBox

TextBox1.Text = "SelText indica o ponto inicial do texto selecionado ou o ponto de inserção se não houver nenhum texto selecionado." _

& Chr$(10) & Chr$(13) & "A propriedade SelStart está sempre válida, mesmo quando o controle não está com o foco. Definir a propriedade SelStart como um valor menor do que zero gera um erro. " _

& Chr$(10) & Chr$(13) & "Alterar o valor da propriedade SelStart cancela qualquer seleção existente no controle, coloca um ponto de inserção no texto e define a propriedade SelLength como zero."

TextBox1.HideSelection = True

ToggleButton1.Caption = "Seleção Oculta"

ToggleButton1.Value = False

End Sub

'

' ***** Codigo para UserForm2 *****

Private Sub CommandButton1_Click()

UserForm2.Hide

End Sub


Exemplo das propriedades Picture e PicturePosition

O exemplo a seguir utiliza um ComboBox para mostrar as opções de posicionamento da figura de controle. Sempre que o usuário clicar nesta opção, a figura e a legenda serão atualizadas no CommandButton. O código a seguir utiliza, também, o método AddItem para preencher as opções ComboBox.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um Label denominado Label1.

•	Um CommandButton denominado CommandButton1.

•	Um ComboBox denominado ComboBox1.

Private Sub UserForm_Initialize()

Label1.Left = 18

Label1.Top = 12

Label1.Height = 12

Label1.Width = 190

Label1.Caption = "Selecionar o posicionamento da figura pertinente à legenda."

'Adicionar entradas de lista à caixa de combinação. O valor de cada entrada coincide com o

'valor correspondente de ListIndex na caixa de combinação.

ComboBox1.AddItem "Superior Esquerda"         'ListIndex = 0

ComboBox1.AddItem "Centralizado à Esquerda"   'ListIndex = 1

ComboBox1.AddItem "Inferior Esquerda"         'ListIndex = 2

ComboBox1.AddItem "Superior Direita"          'ListIndex = 3

ComboBox1.AddItem "Centralizada à Direita"    'ListIndex = 4

ComboBox1.AddItem "Inferior Direita"          'ListIndex = 5

ComboBox1.AddItem "Acima à Esquerda"          'ListIndex = 6

ComboBox1.AddItem "Acima Centralizada"        'ListIndex = 7

ComboBox1.AddItem "Acima à Direita"           'ListIndex = 8

ComboBox1.AddItem "Abaixo à Direita"          'ListIndex = 9

ComboBox1.AddItem "Abaixo Centralizada"       'ListIndex = 10

ComboBox1.AddItem "Abaixo à Direita"          'ListIndex = 11

ComboBox1.AddItem "Centralizada"              'ListIndex = 12

ComboBox1.Style = fmStyleDropDownList  'Utilize a lista suspensa

ComboBox1.BoundColumn = 0            'Os valores da caixa de combinação são valores ListIndex

ComboBox1.ListIndex = 0              'Definir a caixa de combinação para a primeira entrada

ComboBox1.Left = 18

ComboBox1.Top = 36

ComboBox1.Width = 90

ComboBox1.ListWidth = 90

'Initialize CommandButton1

CommandButton1.Left = 230

CommandButton1.Top = 36

CommandButton1.Height = 120

CommandButton1.Width = 120

'Observação: Certifique-se de se remeter a um arquivo bitmap que está presente no seu

'Observação: sistema, e para incluir o caminho no nome do arquivo.

CommandButton1.Picture = LoadPicture("c:\windows\argyle.bmp")

CommandButton1.PicturePosition = ComboBox1.Value

End Sub

Private Sub ComboBox1_Click()

Select Case ComboBox1.Value

Case 0  'Superior Esquerdo

CommandButton1.Caption = "Superior Esquerda"

CommandButton1.PicturePosition = fmPicturePositionLeftTop

Case 1  'Centralizado à Esquerda

CommandButton1.Caption = "Centralizada à Esquerda"

CommandButton1.PicturePosition = fmPicturePositionLeftCenter

Case 2  'Inferior Esquerdo

CommandButton1.Caption = "Inferior Esquerdo"

CommandButton1.PicturePosition = fmPicturePositionLeftBottom

Case 3  'Superior Direito

CommandButton1.Caption = "Superior Direito"

CommandButton1.PicturePosition = fmPicturePositionRightTop

Case 4  'Centralizado à Direita

CommandButton1.Caption = "Centralizada à Esquerda"

CommandButton1.PicturePosition = fmPicturePositionRightCenter

Case 5  'Inferior Direito

CommandButton1.Caption = "Inferior Direito"

CommandButton1.PicturePosition = fmPicturePositionRightBottom

Case 6  'Esquerda Acima

CommandButton1.Caption = "Esquerda Acima "

CommandButton1.PicturePosition = fmPicturePositionAboveLeft

Case 7  'Centro Acima

CommandButton1.Caption = "Centro Acima"

CommandButton1.PicturePosition = fmPicturePositionAboveCenter

Case 8  'Direita Acima

CommandButton1.Caption = "Direita Acima"

CommandButton1.PicturePosition = fmPicturePositionAboveRight

Case 9  'Esquerdo Abaixo

CommandButton1.Caption = "Esquerdo Abaixo"

CommandButton1.PicturePosition = fmPicturePositionBelowLeft

Case 10 'Abaixo do Centro

CommandButton1.Caption = "Abaixo do Centro"

CommandButton1.PicturePosition = fmPicturePositionBelowCenter

Case 11 'Direita Abaixo

CommandButton1.Caption = "Direita Abaixo"

CommandButton1.PicturePosition = fmPicturePositionBelowRight

Case 12 'Centralizado

CommandButton1.Caption = "Centralizado"

CommandButton1.PicturePosition = fmPicturePositionCenter

End Select

End Sub


Exemplo da vinculação de planilha

O exemplo a seguir utiliza uma faixa de células de planilha em um ListBox e, quando o usuário seleciona uma linha da lista, exibe o índice da linha em uma outra célula da planilha. O código a seguir utiliza as propriedades RowSource, BoundColumn e ControlSource.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha um ListBox denominado ListBox1. Na planilha, digite os dados nas células A1:E4. Também é necessário que você se certifique- de que a célula A6 não contém dados.

Private Sub UserForm_Initialize()

ListBox1.ColumnCount = 5

ListBox1.RowSource = "a1:e4"

ListBox1.ControlSource = "a6"

ListBox1.BoundColumn = 0          'Coloque o ListIndex na célula a6

End Sub


Exemplo das propriedades de seleção de texto

O exemplo a seguir rastreia as propriedades relacionadas à seleção (SelLength, SelStart e SelText) que se alteram à medida que o usuário move o ponto de inserção e amplia a seleção utilizando o teclado. Esse exemplo também utiliza as propriedades Enabled e EnterFieldBehavior.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um TextBox grande denominado TextBox1.

•	Três controles TextBox em uma coluna denominados TextBox2, TextBox3 e TextBox4.

Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

TextBox2.Text = TextBox1.SelStart

TextBox3.Text = TextBox1.SelLength

TextBox4.Text = TextBox1.SelText

End Sub

Private Sub UserForm_Initialize()

TextBox1.MultiLine = True

TextBox1.EnterFieldBehavior = fmEnterFieldBehaviorRecallSelection

TextBox1.Text = "Digite aqui seu texto. Utilize CTRL+ENTER para iniciar uma nova linha."

End Sub


Exemplo de como acessar controles através da coleção Controls

O exemplo a seguir acessa cada controle da coleção Controls utilizando um loop For Each...Next. Quando o usuário pressiona o CommandButton1, os outros controles são colocados em uma coluna junto à extremidade esquerda do formulário utilizando o método Move.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha um CommandButton denominado CommandButton1 e vários outros controles.

Dim CtrlHeight As Single

Dim CtrlTop As Single

Dim CtrlGap As Single

Private Sub CommandButton1_Click()

Dim MyControl As Control

CtrlTop = 5

For Each MyControl In Controls

If MyControl.Name = "CommandButton1" Then

'Não mova nem redimensione este controle.

Else

'Método de movimentação utilizando argumentos nomeados

MyControl.Move Top:=CtrlTop, Height:=CtrlHeight, Left:=5

'Método de movimentação utilizando argumentos sem nome (esquerda, superior, largura, altura)

'MyControl.Move 5, CtrlTop,,CtrlHeight

'Calcule a coordenada superior para o próximo controle

CtrlTop = CtrlTop + CtrlHeight + CtrlGap

End If

Next

End Sub

Private Sub UserForm_Initialize()

CtrlHeight = 20

CtrlGap = 5

CommandButton1.Caption = "Clique para mover os controles"

CommandButton1.AutoSize = True

CommandButton1.Left = 120

CommandButton1.Top = CtrlTop

End Sub


Exemplo da propriedade Cycle

O exemplo a seguir define a propriedade Cycle para um Frame e dois objetos Page em um MultiPage.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Um Frame denominado Frame1.

•	Um MultiPage denominado MultiPage1 que contenha dois objetos denominados Page1 e Page2.

•	Dois controles CommandButton denominados CommandButton1 e CommandButton2.

No formulário, o Frame e cada Page do MultiPage devem conter alguns controles de modo que você possa ver como Cycle afeta a ordem das guias do Frame e do MultiPage.

O usuário deve tabular através dos controles para observar como a propriedade Cycle afeta a ordem das guias. Pressionar CommandButton1 estende a ordem das guias para incluir controles nos objetos Frame e Page. Pressionar o CommandButton2 restringe a ordem das guias.

Private Sub RestrictCycles()

'Limite a ordem de tabulação dos objetos Frame e Page

    Frame1.Cycle = fmCycleCurrentForm

    MultiPage1.Page1.Cycle = fmCycleCurrentForm

    MultiPage1.Page2.Cycle = fmCycleCurrentForm

End Sub

Private Sub UserForm_Initialize()

RestrictCycles

End Sub

Private Sub CommandButton1_Click()

'Estenda os subformulários da ordem de tabulação(os objetos Frame e Page)

    Frame1.Cycle = fmCycleAllForms

    MultiPage1.Page1.Cycle = fmCycleAllForms

    MultiPage1.Page2.Cycle = fmCycleAllForms

End Sub

Private Sub CommandButton2_Click()

RestrictCycles

End Sub


Exemplo do método Move para a coleção Controls

O exemplo a seguir demonstra a movimentação de todos os controles de um formulário utilizando o método Move com a coleção Controls. O usuário clica no CommandButton para mover os controles.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha um CommandButton denominado CommandButton1 e vários outros controles.

Private Sub CommandButton1_Click()

    'Mova cada controle no formulário 25 pontos para a direita e 25 pontos para cima.

Controls.Move 25, -25

End Sub


Exemplo da propriedade Parent

O exemplo a seguir utiliza a propriedade Parent para remeter-se ao controle ou formulário que contenha um determinado controle.

Para utilizar este exemplo, copie esse código de exemplo na parte de Declarações de um formulário. Certifique-se de que o formulário contenha:

•	Dois controles Label denominados Label1 e Label2.

•	Um CommandButton denominado CommandButton1.

•	Um ou mais controles adicionais à sua escolha.

Dim MyControl As Object

Dim MyParent As Object

Dim ControlsIndex As Integer

Private Sub UserForm_Initialize()

    ControlsIndex = 0

    CommandButton1.Caption = "Obter Control e Parent"

    CommandButton1.AutoSize = True

    CommandButton1.WordWrap = True

End Sub

Private Sub CommandButton1_Click()

    'Processa a coleção Controls para UserForm

    Set MyControl = Controls.Item(ControlsIndex)

    Set MyParent = MyControl.Parent

    Label1.Caption = MyControl.Name

    Label2.Caption = MyParent.Name

    'Prepara índice para o próximo controle em Userform

    ControlsIndex = ControlsIndex + 1

    If ControlsIndex >= Controls.Count Then

        ControlsIndex = 0

    End If

End Sub