Compartilhar via


Controle RadioButtonGroup

O controle RadioButtonGroup é um grupo de botões de opção. Ele permite que o usuário selecione uma única cadeia de caracteres ou um valor inteiro para uma propriedade de uma lista predeterminada de valores. Você pode associar esse controle a uma propriedade de valor de cadeia de caracteres inserindo o nome da propriedade na coluna Property da tabela Control. Especifique os valores possíveis para seleção na coluna Valor da tabela RadioButton. Observe que a cadeia de caracteres exibida não é necessariamente a mesma que o valor que o usuário está escolhendo.

Cada controle RadioButtonGroup está associado a uma propriedade. O valor padrão dessa propriedade deve ser inicializado na tabela Property. Em cada RadioButtonGroup especificado na tabela RadioButton, pode haver um botão de opção que tenha um valor no campo Value que corresponda ao valor padrão dessa propriedade. Este é o botão padrão do controle RadioButtonGroup. O botão Padrão é inicialmente mostrado como selecionado no controle.

Observe que o foco em uma caixa de diálogo não pode se mover para um controle RadioButtonGroup até que um dos botões no grupo tenha sido selecionado. Para fazer com que o foco se mova para esse grupo de botões, especifique um dos botões como um botão padrão para o grupo.

O RadioButtonGroup controla apenas valores de propriedade definidos e não pode ser usado para enviar um ControlEvent.

A implementação trata todo o grupo como um controle, portanto, não é possível ocultar ou desabilitar botões individuais dentro do grupo. Da mesma forma, todos os botões precisam ser do mesmo estilo, ou seja, todos eles têm texto ou todos eles têm bitmaps (ou outros recursos semelhantes). A posição dos botões é criada em relação ao grupo. Dessa forma, todo o grupo pode ser movido alterando apenas as coordenadas do grupo sem alterar os botões individuais. Na criação, o controle verifica se os botões individuais não se estendem além dos limites do grupo.

Atributos de Controle

É possível usar os atributos a seguir com esse controle. Para alterar o valor de um atributo usando um evento, assine o controle em um ControlEvent na tabela EventMapping e liste o identificador do atributo na coluna Attribute. Insira o identificador do ControlEvent na coluna Event.

Identificador de atributo Bit hexadecimal Descrição
IndirectPropertyName Esse é o nome de uma propriedade indireta associada ao controle. Se o bit do atributo Indirect estiver definido, o controle vai exibir ou alterar o valor da propriedade que tem esse nome. Se o bit do atributo Indirect estiver definido, esse nome também será o valor da propriedade listada na coluna Property da tabela Control.
Posição Posição do controle na caixa de diálogo. Insira a largura, a altura e as coordenadas do controle do canto esquerdo do controle nas colunas Width, Height, X e Y da tabela Control. Use Unidades do instalador para definir o comprimento e a distância.
PropertyName   Esse é o nome da propriedade associada a esse controle. Se o bit de atributo indireto não estiver definido, o controle exibirá ou alterará o valor da propriedade que tem esse nome. Esse atributo é especificado na coluna Property da tabela Control.
PropertyValue Valor atual da propriedade exibida ou alterada por esse controle. Se o bit do atributo Indirect não for definido, esse será o valor de PropertyName. Se o bit do atributo Indirect estiver definido, esse será o valor de IndirectPropertyName. Se o atributo for alterado, o controle refletirá o novo valor.
Texto Esse atributo de controle pode especificar o texto exibido pelo controle, uma imagem armazenada na tabela Binary ou um conjunto de imagens em tempo de execução. Para especificar o texto, insira a cadeia de caracteres de texto na coluna Text da tabela Control. Para definir a fonte e o estilo de fonte deste texto, acrescente à cadeia de caracteres exibidos o prefixo {\style} ou {&style}. Sendo que estilo é um identificador listado na coluna TextStyle da Tabela TextStyle. Caso nenhum deles esteja presente, mas a propriedade DefaultUIFont seja definida como um estilo de texto válido, essa fonte será usada.
Para especificar um ícone ou uma imagem de bitmap armazenada na tabela Binary, insira a chave primária do registro da imagem na coluna Name da tabela Binary na coluna Text do registro da tabela Control para o controle.
Visível 0x00000000 0x00000001
Controle oculto. Controle visível.
Inclua esse bit na palavra de bit da coluna Attributes na tabela Control para tornar o controle visível ou oculto após a criação.
Você também pode ocultar ou mostrar um controle usando a tabela ControlCondition.
Enabled 0x00000000 0x00000002
Controle em um estado desabilitado. Controle em um estado habilitado.
Inclua esse bit na palavra de bit na coluna Attributes da tabela Control para habilitar o controle na criação.
Você também pode habilitar ou desabilitar um controle usando a tabela ControlCondition.
Sunken 0x00000000 0x00000004
Exibe o estilo visual padrão. Exibe o controle com uma aparência 3D em baixo-relevo.
Inclua esses bits na palavra de bit da coluna Attributes da tabela Control.
Indireto. 0x00000000 0x00000008
O controle exibe ou altera o valor da propriedade na coluna Property da tabela Control. O controle exibe ou altera o valor da propriedade que tem o Identificador listado na coluna Property da tabela Control.
Determina se a propriedade associada a esse controle é indiretamente referenciada.
Inteiro 0x00000000 0x00000010
A propriedade associada ao controle é um valor de cadeia de caracteres. A propriedade associada ao controle é um valor inteiro.
Inclua esse bit na palavra de bit da coluna Attributes da tabela Control para definir esse atributo na criação do controle.
RTLRO 0x00000000 0x00000020
O texto no controle é exibido na ordem de leitura da esquerda para a direita. O texto no controle é exibido na ordem de leitura da direita para a esquerda.
RightAligned 0x00000000 0x00000040
O texto no controle é alinhado à esquerda. O texto no controle é alinhado à direita.
PushLike 0x00000000 0x00020000
O controle é desenhado com sua aparência habitual. O controle tem o estilo BS_PUSHLIKE e é desenhado para aparecer como um botão de ação.
Inclua esse bit na palavra de bit da coluna Attributes da tabela Control para definir esse atributo na criação do controle.
Bitmap 0x00000000 0x00040000
O texto no controle é especificado na coluna Text da tabela Control. O controle tem o estilo BS_BITMAP, o texto no controle é substituído por uma imagem de bitmap. A coluna Text na tabela Control é usada como uma chave estrangeira para a tabela Binary.
Inclua esse bit na palavra de bit na coluna Attributes da tabela Control.
Não defina os bits de estilo Bitmap e Ícone simultaneamente. O botão não pode conter uma imagem de bitmap e um texto.
Para definir a fonte e o estilo da fonte de uma cadeia de texto, acrescente à cadeia de caracteres exibidos o prefixo {\style} ou {&style}. Sendo que Style é um identificador listado na coluna TextStyle da tabela TextStyle. Caso nenhum deles esteja presente, mas a propriedade DefaultUIFont seja definida como um estilo de texto válido, essa fonte será usada.
Ícone 0x00000000 0x00080000
O texto no controle é especificado na coluna Text da tabela Control. O controle tem o estilo BS_ICON, o texto no controle é substituído por uma imagem de ícone. A coluna Text na tabela Control é usada como uma chave estrangeira para a tabela Binary.
Inclua esse bit na palavra de bit na coluna Attributes da tabela Control.
Não defina os bits de Bitmap e Ícone simultaneamente. O botão não pode conter uma imagem de ícone e um texto.
Para definir a fonte e o estilo da fonte de uma cadeia de texto, acrescente à cadeia de caracteres exibidos o prefixo {\style} ou {&style}. Sendo que Style é um identificador listado na coluna TextStyle da tabela TextStyle. Caso nenhum deles esteja presente, mas a propriedade DefaultUIFont seja definida como um estilo de texto válido, essa fonte será usada.
FixedSize 0x00000000 0x00100000
Alongue a imagem do ícone para ajustar o controle. Corte ou centralize a imagem de ícone no controle.
Inclua esse bit na palavra de bit da coluna Attributes da tabela Control.
IconSize 0x00000000 0x00200000
0x00400000
0x00600000
Carrega a primeira imagem. Carrega a primeira imagem 16x16.
Carrega a primeira imagem 32x32.
Carrega a primeira imagem 48x48.
Um arquivo de ícone pode conter imagens de tamanho diferente do mesmo ícone. Incluir o valor da palavra de bit apropriada na coluna Attributes da tabela Control
Se esses bits não forem definidos, o instalador vai ignorar o atributo FixedSize e a imagem será ampliada para se ajustar ao retângulo de controle. Se os bits IconSize e FixedSize estiverem definidos, uma imagem menor do que o controle será centralizada e uma imagem será maior do que o controle que ela será reduzida para caber.
HasBorder não definido 0x01000000
Sem borda e sem texto. Exibe borda e texto.
Inclua 16777216 na palavra de bit na coluna Attributes da tabela Control para exibir uma borda e um texto.

 

Comentários

Devido à maneira como o Windows desenha o quadro, há uma lacuna entre a parte superior da janela do controle e o quadro visível, mesmo quando não há legenda.

Esse controle pode ser criado a partir da classe BUTTON usando a função CreateWindowEx. Se o bit HasBorder estiver definido, ele terá o estilo BS_GROUPBOX, caso contrário, terá o estilo BS_OWNERDRAW.

O controle RadioButtonGroup não deve sobrepor outros controles e outros controles não devem sobrepor um RadioButtonGroup. Sobrepor esse controle e outro pode fazer com que os controles funcionem ou sejam exibidos incorretamente. Para fornecer programas de leitor de tela com texto descritivo extra sobre um controle RadioButtonGroup, siga o exemplo fornecido em Adicionar texto extra a botões de opção.