Como adicionar, editar ou excluir controles (C++)

Usando o Editor de Caixa de Diálogo, você pode adicionar, redimensionar, editar e excluir controles em caixas de diálogo. Você também pode editar as propriedades de um controle, como sua ID ou se ele está inicialmente visível em tempo de execução.

A guia Editor de Caixa de Diálogo é exibida na janela Caixa de Ferramentas quando você está trabalhando no Editor de Diálogo. Você também pode personalizar a janela Caixa de Ferramentas para facilitar o uso. Para mais informações, confira Como usar a caixa de ferramentas e Mostrar ou ocultar a janela caixa de ferramentas.

Dica

Ao usar o Editor de Diálogo, em muitos casos, você pode selecionar o botão direito do mouse para exibir um menu de atalho de comandos usados com frequência.

adicionar controles

Para adicionar um controle

  1. Verifique se a janela com guias da caixa de diálogo é o documento atual no quadro do editor. Se uma caixa de diálogo não for o documento atual, você não verá a guia Editor de Diálogo na Caixa de Ferramentas.

  2. Na guia Editor de Diálogo da janela Caixa de Ferramentas, selecione o controle desejado e:

    • Selecione a caixa de diálogo no local em que você deseja colocar o controle, então o controle será exibido no local selecionado.

    • Arraste e solte o controle da janela Caixa de Ferramentas para o local na caixa de diálogo. Então você pode mover o controle ou alterar seu tamanho e forma.

    • Clique duas vezes no controle na janela Caixa de Ferramentas e ele aparecerá na caixa de diálogo. Reposicione o controle para o local que você preferir.

Para adicionar vários controles

  1. Ao manter a tecla Ctrl pressionada, selecione um controle na janela Caixa de Ferramentas.

  2. Solte a tecla Ctrl e selecione a caixa de diálogo quantas vezes quiser para adicionar o controle específico.

  3. Pressione Esc para parar de colocar controles.

Para dimensionar um controle enquanto você o adiciona

  1. Selecione um controle na janela Caixa de Ferramentas.

  2. Coloque o cursor que aparece como retícula no local em que você deseja que o canto superior esquerdo do novo controle esteja em sua caixa de diálogo.

  3. Selecione e mantenha pressionado o botão do mouse para ancorar o canto superior esquerdo do controle na caixa de diálogo. Então arraste o cursor para a direita e para baixo até que o controle esteja do tamanho desejado.

    Observação

    Você pode ancorar qualquer um dos quatro cantos do controle que está desenhando. Este procedimento usou o canto superior esquerdo como exemplo.

  4. Solte o botão do mouse. O controle se instala na caixa de diálogo no tamanho especificado.

Dica

Você pode redimensionar o controle depois de deixá-lo cair na caixa de diálogo movendo as alças de dimensionamento na borda do controle. Para mais informações, confira Como dimensionar controles individuais.

Para adicionar um controle personalizado

Você pode adicionar controles personalizados à caixa de diálogo. Selecione o ícone Controle Personalizado na Caixa de Ferramentas e arraste-o para a caixa de diálogo. Para adicionar um controle Syslink, adicione um controle personalizado e altere a propriedade Class do controle para Syslink. Essa ação fará com que as propriedades atualizem e mostrem as propriedades do controle Syslink. Para informações sobre a classe wrapper MFC, confira CLinkCtrl.

Controles de Edição

Para editar as propriedades de um controle ou controles

  1. Na caixa de diálogo, selecione o controle que você quer modificar.

    Observação

    Se você selecionar vários controles, somente as propriedades comuns aos controles selecionados poderão ser editadas.

  2. Na janela Propriedades, altere as propriedades de seu controle.

    Observação

    Quando você define a propriedade Bitmap para um botão, um botão de opção ou um controle de caixa de seleção igual a True, o estilo BS_BITMAP é implementado para o controle. Para obter mais informações, consulte Estilos de botão. Para um exemplo de associação de um bitmap a um controle, confira CButton::SetBitmap. Os bitmaps não aparecerão no controle enquanto você estiver no Editor de Caixa de Diálogo.

Para desfazer alterações às propriedades de um controle

  1. Verifique se o controle tem foco no Editor de Caixa de Diálogo.

  2. Vá para o menu Editar>Desfazer. Se o foco não estiver no controle, o comando Desfazer não estará disponível.

Para definir uma variável de membro para um controle de caixa de diálogo (não de botão)

Observação

Esse processo se aplica somente a controles de caixa de diálogo dentro de um projeto MFC. Os projetos da ATL devem usar a caixa de diálogo Novas Mensagens do Windows e Manipuladores de Eventos. Para mais informações, confira Tipos de mensagem associados a objetos de interface do usuário, Como editar um manipulador de mensagens e Como definir um manipulador de mensagens para uma mensagem refletida.

  1. No Editor de Diálogo, selecione um controle.

  2. Ao pressionar a tecla Ctrl, clique duas vezes no controle da caixa de diálogo.

    O assistente Adicionar Variável de Membro é exibido.

  3. Digite as informações apropriadas no assistente Adicionar Variável de Membro. Para mais informações, confira Troca de dados de diálogo.

  4. Selecione OK para voltar ao Editor de Diálogo.

Dica

Para pular de qualquer controle de caixa de diálogo para seu manipulador existente, clique duas vezes no controle.

Você também pode usar a guia Variáveis de Membro no Assistente de Classe MFC para adicionar variáveis de membro a uma classe especificada e exibir variáveis de membro já definidas.

Excluir controles

Na caixa de diálogo, selecione o controle e pressione a tecla Excluir ou vá para o menu Editar>Excluir.

Outros problemas

Solução de problemas

Depois de adicionar um controle comum ou um controle de edição avançada a uma caixa de diálogo, ele não será exibido quando você testar a caixa de diálogo. Ou a caixa de diálogo em si não aparecerá. Por exemplo:

  1. Crie um projeto Win32, modificando as configurações do aplicativo para que você crie um aplicativo do Windows (não um aplicativo de console).

  2. No Modo de Exibição de Recursos, clique duas vezes no arquivo .rc.

  3. Na opção de caixa de diálogo, clique duas vezes na caixa Sobre.

  4. Adicione um Controle de Endereço IP à caixa de diálogo.

  5. Salve e escolha Recompilar tudo.

  6. Executar o programa.

  7. No menu Ajuda da caixa de diálogo, selecione o comando Sobre e observe que nenhuma caixa de diálogo é exibida.

Atualmente, o Editor de Diálogo não adiciona automaticamente código ao seu projeto quando você arrasta e solta os controles comuns a seguir ou os controles avançados de edição em uma caixa de diálogo. O Visual Studio também não fornece um erro ou aviso quando esse problema ocorre. Para corrigir, adicione o código para o controle manualmente.

Controle de animação
Controle Personalizado
Seletor de data e hora
Caixa de combinação estendida

Tecla de atalho
Controle de endereço IP
Controle de lista
Month Calendar

Controle de progresso
Controle de Rich Edit 2.0
Controle de edição avançada
Controle deslizante

Controle de giro
Controle guia
Controle de árvore

Para usar controles comuns em uma caixa de diálogo, você precisa chamar InitCommonControlsEx ou AFXInitCommonControls antes de criar a caixa de diálogo.

Para usar controles RichEdit, chame LoadLibrary. Para mais informações, confira Sobre controles de edição avançada no SDK do Windows e Visão geral do controle de edição avançada.

Observação

Para usar um controle RichEdit com o MFC, primeiro chame AfxInitRichEdit2 para carregar o Controle RichEdit 2.0 (RICHED20.DLL) ou AfxInitRichEdit para carregar o controle RichEdit 1.0 mais antigo (RICHED32.DLL).

Você pode usar a classe CRichEditCtrl atual com o controle RichEdit 1.0 mais antigo, mas CRichEditCtrl só foi projetado para dar suporte ao controle RichEdit 2.0. Como RichEdit 1.0 e RichEdit 2.0 são semelhantes, a maioria dos métodos funcionará. No entanto, há algumas diferenças entre os controles 1.0 e 2.0, portanto, alguns métodos podem funcionar incorretamente ou não funcionar.

Inserir controles ActiveX

O Visual Studio permite que você insira controles ActiveX em sua caixa de diálogo. Para mais informações, confira Controles ActiveX MFC e Contêineres de controle ActiveX.

A caixa de diálogo Inserir Controle ActiveX permite inserir controles ActiveX em sua caixa de diálogo ao usar o Editor de Diálogo. Este diálogo contém as seguintes propriedades:

Propriedade Descrição
Controle ActiveX Exibe uma lista de controles ActiveX.

A inserção de um controle dessa caixa de diálogo não gera uma classe wrapper. Se você precisar de uma classe wrapper, use o Modo de Exibição de Classe para criar uma. Confira Como adicionar uma classe.

Se um controle ActiveX não aparecer nesta caixa de diálogo, tente instalar o controle de acordo com as instruções do fornecedor.
Caminho Exibe o arquivo no qual o controle ActiveX é encontrado.

Cuidado

Pode não ser legal distribuir todos os controles ActiveX em seu sistema. Confira o contrato de licença do software que instalou os controles ou entre em contato com a empresa de software.

Para adicionar um controle ActiveX

  1. Abra uma caixa de diálogo no Editor de Diálogo.

  2. Clique com o botão direito do mouse em qualquer lugar do corpo da caixa de diálogo e selecione Inserir Controle ActiveX.

    A caixa de diálogo Inserir Controle ActiveX é exibida, mostrando todos os controles ActiveX em seu sistema. Na parte inferior da caixa de diálogo, o caminho para o arquivo de Controle ActiveX é exibido.

  3. Selecione o controle que você deseja adicionar à caixa de diálogo e escolha OK.

    O controle aparece na caixa de diálogo, em que você pode editá-lo ou criar manipuladores para ele como faria com qualquer outro controle.

Dica

Você pode usar o menu de atalho no Editor de Diálogo para adicionar rapidamente controles ActiveX registrados a uma caixa de diálogo ou tentar adicionar controles ActiveX à janela Caixa de Ferramentas para facilitar o acesso.

Para editar propriedades de um controle ActiveX

Os controles ActiveX de fornecedores independentes podem ter propriedades e características e próprias. Essas propriedades são exibidas na janela Propriedades. Todas as páginas de propriedade criadas pelos gravadores do controle ActiveX são exibidas na caixa de diálogo Páginas de Propriedades. (Para exibir a Página de Propriedades de um controle ActiveX específico, selecione o botão Página de Propriedades na janela Propriedades).

  • Selecione o controle ActiveX e vá para o menu Exibir>Página de Propriedades para exibir as propriedades. Faça alterações conforme necessário na página de propriedades.

    Várias guias são exibidas na página de propriedades de um controle ActiveX, dependendo das folhas de propriedades que vêm como parte do controle ActiveX.

Observação

Este procedimento é para o uso da página de propriedades para editar controles ActiveX. Você também pode procurar e editar propriedades ActiveX na nova janela Propriedades.

Requisitos

Win32

Confira também

Gerenciar Controles da Caixa de Diálogo
Como: Utilizar controles de layout
Como: Definir Acesso e Valores de Controle