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 árvore | TVN_SELCHANGE |
Controle de guia | TCN_SELCHANGE |
Controle de animação | ACN_START |
Controle de seletor de data e hora | DTN_DATETIMECHANGE |
Controle de calendário mensal | 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