Share via


Controles de caixas de diálogo (C++)

Você pode adicionar controles a uma caixa de diálogo usando a guia Editor de Caixa de Diálogo na janela Caixa de Ferramentas que permite escolher o controle desejado e arrastá-lo para a caixa de diálogo. Por padrão, a janela Caixa de Ferramentas está configurada para ocultar automaticamente. Ela aparece como uma guia na margem esquerda da sua solução quando o Editor de Caixa de Diálogo é aberto. No entanto, você pode fixar a janela Caixa de Ferramentas na posição selecionando o botão Ocultar Automaticamente no canto superior direito da janela. Para obter mais informações sobre como controlar o comportamento dessa janela, confira Gerenciamento de Janelas.

A maneira mais rápida de adicionar controles a uma caixa de diálogo, reposicionar controles existentes ou mover controles de uma caixa de diálogo para outra é usar o método do tipo "arrastar e soltar". A posição do controle é contornada por uma linha pontilhada até ser solta na caixa de diálogo. Quando você adiciona um controle a uma caixa de diálogo com o método de arrastar e soltar, o controle recebe uma altura padrão apropriada para esse tipo de controle.

Quando você adiciona um controle a uma caixa de diálogo ou o reposiciona, seu posicionamento final pode ser determinado por guias ou margens, ou se a grade de layout está ativada.

Depois de adicionar um controle à caixa de diálogo, você poderá alterar propriedades como a legenda na janela Propriedades. Você também pode selecionar vários controles e alterar as propriedades de uma só vez.

Para obter mais informações sobre o Editor de Caixa de Diálogo, confira Adicionar, editar ou excluir controles, Controles de layout e Definir acesso e valores de controle.

Para obter mais informações sobre controles e caixas de diálogo, confira Classes de Controle, Classes de Caixa de Diálogo e Estilos de Barra de Rolagem.

Os controles padrão disponíveis na Caixa de Ferramentas com eventos padrão são:

Nome do controle Evento padrão
Controle Botão BN_CLICKED
Controle de caixa de seleção BN_CLICKED
Controle de caixa de combinação CBN_SELCHANGE
Controle de edição EN_CHANGE
Caixa de grupo (não se aplica)
Controle de caixa de listagem LBN_SELCHANGE
Controle de botão de opção BN_CLICKED
Controle de texto estático (não se aplica)
Controle de figura (não se aplica)
Controle de Rich Edit 2.0 EN_CHANGE
Controle de barra de rolagem NM_THEMECHANGED

Observação

Para obter mais informações sobre como usar o controle de RichEdit 1.0 com MFC, confira Usar o controle de RichEdit 1.0 com MFC e Exemplos de controle de Rich Edit.

Os Controles Comuns do Windows disponíveis na Caixa de Ferramentas para fornecer maior funcionalidade são:

Nome do controle Evento padrão
Controle deslizante NM_CUSTOMDRAW
Controle de rotação UDN_DELTAPOS
Controle de progresso NM_CUSTOMDRAW
Controle de tecla de acesso NM_OUTOFMEMORY
Controle de lista LVN_ITEMCHANGE
Controle de árvores TVN_SELCHANGE
Controle de tabulação TCN_SELCHANGE
Controle de animação ACN_START
Controle de seletor de data e hora DTN_DATETIMECHANGE
Controle de calendário do mês MCN_SELCHANGE
Controle de endereço IP IPN_FIELDCHANGED
Controle de caixa de combinação estendida
Controle personalizado TTN_GETDISPINFO

Controles personalizados

O Editor de Caixa de Diálogo permite que você use controles personalizados ou de usuário existentes em um modelo de caixa de diálogo.

Observação

Controles personalizados nesse sentido não devem ser confundidos com controles ActiveX. Os controles ActiveX às vezes eram chamados de controles personalizados OLE. Além disso, não confunda esses controles com os controles desenhados pelo proprietário no Windows.

Essa funcionalidade destina-se a permitir que você use controles diferentes dos fornecidos pelo Windows. Em tempo de execução, o controle está associado a uma Classe de janela (não é o mesmo que uma classe C++). Uma maneira mais comum de realizar a mesma tarefa é instalar qualquer controle, como um controle estático, na caixa de diálogo. Em seguida, em tempo de execução, na função OnInitDialog, remova esse controle e substitua-o pelo seu próprio controle personalizado.

Observação

Esta é uma técnica antiga. Hoje você é aconselhado na maioria dos casos a desenvolver um controle ActiveX ou subclassificar um controle comum do Windows.

Para esses controles personalizados, você está limitado a:

  • Definir a localização na caixa de diálogo.

  • Digitar uma legenda.

  • Identificar o nome da classe Windows do controle, pois o código do aplicativo deve registrar o controle por esse nome.

  • Digitar um valor hexadecimal de 32 bits que define o estilo do controle.

  • Definir o estilo estendido.

Requisitos

Win32

Confira também

Editor de caixa de diálogo