Forneça aos usuários controles para escolher
A maioria dos aplicativos precisa fornecer opções ao usuário, como uma simples opção "Sim/Não" ou escolher em uma lista de centenas de possibilidades. O Visual Basic inclui vários controles padrão para fornecer seleções. A tabela a seguir resume esses controles e seus usos.
Selecione uma única opção com CheckBox
CheckBox indica se um estado específico está selecionado (ligado) ou desmarcado (desligado). Usar um CheckBox em um aplicativo fornece ao usuário uma escolha "Verdadeiro/Falso" ou "Sim/Não". Como as CheckBoxes funcionam independentemente umas das outras, os usuários podem selecionar quantas CheckBoxes desejarem ao mesmo tempo. Por exemplo, na Figura 3.9, tanto negrito quanto itálico podem ser selecionados.
Aplicativo CheckBox
Este exemplo usa um CheckBox para determinar se o texto deve ser exibido em fonte normal ou em itálico. Para obter uma versão funcional deste exemplo, consulte Check.frm no exemplo de aplicativo Controls.vbp. Conforme mostrado na Figura 3.10, esta aplicação possui um TextBox, um Label, um CommandButton e dois CheckBoxes.
A tabela a seguir lista as configurações de propriedade para objetos no aplicativo.
Quando negrito ou itálico é selecionado, a propriedade Value do CheckBox é definida como 1 e como 0 quando não selecionada. O valor padrão é 0, portanto, a menos que você altere a propriedade Value, o CheckBox não será selecionado quando for exibido pela primeira vez. Você pode usar as constantes vbChecked e vbUnchecked para representar os valores 1 e 0.
evento no aplicativo checkbox
Quando um CheckBox é clicado, ocorre o evento Click do CheckBox. Este procedimento de evento testa se CheckBox está selecionado (ou seja, se Value=vbChecked). Se selecionado, converte o texto em negrito ou itálico definindo a propriedade Negrito ou Itálico do objeto Font retornado pela propriedade Font do TextBox.
PRivateSubchkBold_Click()
IfChkBold.Value=vbCheckedThen 'Se selecionado.
txtDisplay.Font.Bold = Verdadeiro
Caso contrário, 'Se não for selecionado.
txtDisplay.Font.Bold=Falso
FimSe
Fim Sub
PrivateSubchkItalic_Click()
IfChkItalic.Value=vbCheckedThen 'Se selecionado.
txtDisplay.Font.Italic=True
Caso contrário, 'Se não for selecionado.
txtDisplay.Font.Italic=Falso
FimSe
Fim Sub
Opções de grupo usando botões de opção
Os botões de opção representam um conjunto de duas ou mais opções fornecidas ao usuário. No entanto, diferentemente do CheckBox, os botões de opção sempre funcionam como parte de um grupo, portanto, selecionar um botão de opção limpa imediatamente os outros botões do grupo; Defina um grupo de botões de opção que diga ao usuário: "Este é um conjunto de opções, escolha uma e somente uma."
Por exemplo, no grupo de botões de opção mostrado na Figura 3.11, o usuário só pode selecionar um dos três botões de opção.
Crie um grupo de botões de opção
Todos os botões de opção colocados diretamente em um formulário (ou seja, não em um Frame ou PictureBox) formam um grupo. Caso queira criar outros grupos de botões de opção, você deve colocar alguns deles em um Frame ou PictureBox.
Todos os botões de opção em um determinado quadro formam um grupo separado, assim como todos os botões de opção em um PictureBox. Ao utilizar este método para gerar um grupo independente, você deve primeiro desenhar um Frame ou PictureBox, e depois desenhar os botões de opção dentro dele. A Figura 3.12 mostra um formulário com dois grupos de botões de opção.
Após um grupo de botões de opção ser desenhado no Quadro, o usuário só poderá selecionar um botão de opção dentro do grupo. Para agrupar controles em um quadro, siga estas etapas:
1. Selecione o controle Frame na "Caixa de Ferramentas" e desenhe o Frame no formulário.
2. Selecione o controle OptionButton na "Caixa de Ferramentas" e desenhe o controle no Quadro.
3. Se você também quiser adicionar botões de opção ao quadro, repita a etapa 2. Desenhe o quadro primeiro e depois desenhe cada controle no quadro, de modo que, quando o quadro for movido, os controles se movam juntos. Se você mover um controle existente para o Quadro, o controle não se moverá com o Quadro.
Observe que se você agrupar controles existentes em um quadro, poderá selecionar esses controles e, em seguida, recortá-los e colá-los no controle Quadro ou Imagem.
Contêiner de controle
Quando o controle é um objeto independente, existe algum tipo de relacionamento pai-filho entre o formulário e o controle. A Figura 3.12 mostra como os botões de opção podem estar contidos em um formulário ou controle Frame.
Para entender o conceito de contêineres, primeiro imagine que todos os controles são filhos da forma em que residem. Na verdade, a maioria dos controles oferece suporte à propriedade Parent somente leitura, cujo valor é a forma na qual o controle está localizado. Como filho, um controle determina sua posição no formulário pai. As propriedades Left e Top do controle são relativas ao formulário pai e o controle não pode se mover além dos limites do formulário pai. Quando o contêiner é movido, o controle também é movido, portanto, a posição relativa do controle e do contêiner permanece inalterada (ou seja, a propriedade Left e a propriedade Top do controle permanecem inalteradas).
Selecione ou desative os botões de opção
Um botão de opção pode ser selecionado das seguintes maneiras:
1.Clique no botão de opção com o mouse durante o tempo de execução.
2. Use a tecla Tab para localizar o grupo de botões de opção e, em seguida, use as teclas de seta (teclas de seta) para localizar o botão de opção dentro do grupo.
3. Defina sua propriedade Value como True usando o código: optChoice.Value=True
4. Use a tecla de atalho especificada no título do rótulo.
5. Para tornar um botão o botão padrão no grupo de botões de opção, basta definir sua propriedade Value como True em tempo de design. Ele permanece selecionado até que o usuário selecione um botão de opção diferente ou o altere com código.
Para desabilitar um botão de opção, defina sua propriedade Enabled como False. Quando o programa estiver em execução, se este botão de opção ficar cinza, significa que este botão de opção não pode ser selecionado.
Aplicativo de opções
O formulário mostrado na Figura 3.13 usa botões de opção para selecionar o tipo de processador e o sistema operacional de um computador. Quando o usuário seleciona um botão de opção dentro do grupo, o título do rótulo muda para refletir a seleção atual. Para obter uma versão funcional deste exemplo, consulte Options.frm no exemplo de aplicativo Controls.vbp.
A tabela a seguir lista as configurações das propriedades do objeto no aplicativo.
Eventos no aplicativo Opções
O aplicativo de opções responde aos eventos da seguinte forma:
Os eventos Click dos três primeiros botões de opção atribuem uma descrição correspondente à variável de string no nível do formulário strComputer.
Os eventos Click dos dois últimos botões de opção atribuem uma descrição correspondente à segunda variável de nível de formulário strSystem.
A chave para este método é usar essas duas variáveis de nível de formulário, strComputer e strSystem. Essas duas variáveis possuem valores de string diferentes e a seleção final do botão de opção depende desses valores.
Cada vez que um novo botão de opção é selecionado, o código do evento Click atualiza o valor da variável correspondente.
PrivateSubopt586_Click()
strComputador=Pentium
CallDisplayCaption
Fim Sub
Em seguida, ele chama um procedimento chamado DisplayCaption, que concatena as duas variáveis e altera a propriedade Caption do Label.
SubDisplayCaption()
lblDisplay.Caption=Você selecionou uma&
_strComputador&em execução&strSistema
Fim Sub
A sub-rotina é utilizada porque o processo de alteração da propriedade Caption é basicamente o mesmo para todos os cinco botões de opção, exceto que o valor da variável varia dependendo da situação. Isso evita duplicar o mesmo código em cada evento Click.
Detalhes de variáveis e subprocessos são discutidos no Capítulo 5, “Noções básicas de programação”.
Usando ListBox e ComboBox
ListBox e ComboBox fornecem opções aos usuários. Por padrão, as opções são exibidas em uma única coluna vertical, mas também podem ser definidas como múltiplas colunas. Se o número de itens exceder o número que o ComboBox ou ListBox pode exibir, uma ScrollBar aparecerá automaticamente no controle. O usuário pode então rolar para cima, para baixo, para a esquerda e para a direita na lista. A Figura 3.14 mostra um ListBox de coluna única.
ComboBox possui as funções de TextBox e ListBox. Este controle permite ao usuário fazer seleções digitando texto ou selecionando itens em uma lista. A Figura 3.15 mostra um ComboBox.
Ao contrário de outros controles que contêm um único valor, como a propriedade Caption de um Label ou uma propriedade de texto de TextBox, ListBox e ComboBox contêm vários valores ou coleções de valores. Use métodos integrados para adicionar, excluir e persistir valores em uma coleção em tempo de execução. Para adicionar vários itens a um ListBox chamado List1, o código é o seguinte: List1.AddItemParis
List1.AddItemNewYork
List1.AddItemSanFrancisco
ListBox e ComboBox são formas eficazes de fornecer aos usuários um grande número de opções em um espaço limitado.
Para obter mais informações sobre os controles ListBox e ComboBox, consulte o Capítulo 7, "Usando controles padrão do Visual Basic".
->