A DLGTEMPLATE estrutura define as dimensões e estilo de uma caixa de diálogo. Essa estrutura, sempre o primeiro em um padrão modelo para uma caixa de diálogo, também especifica o número de controles na caixa de diálogo e, portanto, especifica o número de subseqüentes DLGITEMTEMPLATE estruturas de modelo.
typedef struct {/ / estilo DWORD dltt;
DWORD dwExtendedStyle;
Cdit WORD;
x curto;
y curto;
cx curto;
cy curto;
} DLGTEMPLATE
Valor | Significado |
---|---|
DS_3DLOOK | Fornece a caixa de diálogo uma fonte nonbold e desenha bordas tridimensionais em torno de janelas de Controlarar na caixa de diálogo. O estilo DS_3DLOOK é necessária somente por aplicativos baseados em Win32 compilados para versões de sistema anteriores ao Windows 95 ou Windows NT 4.0. O sistema aplica automaticamente a aparência tridimensional a caixas de diálogo criadas por aplicativos compilados para versões atuais do sistema. |
DS_ABSALIGN | Indica que as coordenadas da caixa de diálogo são as coordenadas de tela. Se esse estilo não for especificado, O sistema pressupõe que eles são coordenadas do cliente. |
DS_CENTER | Centraliza a caixa de diálogo na área de trabalho; ou seja, a área não obscurecida pela bandeja. |
DS_CENTERMOUSE | Centraliza o cursor do mouse na caixa de diálogo. |
DS_CONTEXTHELP | Inclui um ponto de interrogação na barra de título da caixa de diálogo. Quando o usuário clica o ponto de interrogação, o cursor muda para um ponto de interrogação com um ponteiro. Se o usuário clica em um controle na caixa de diálogo, o Controlarar recebe uma mensagem WM_HELP. O controle deve passar a mensagem para o procedimento caixa de diálogo, que deve chamar o WinHelp função usando o comando HELP_WM_HELP. O aplicativo de ajuda exibe uma janela pop-up que normalmente contém ajuda para o controle. Observe que DS_CONTEXTHELP é apenas um espaço reservado. Quando a caixa diálogo é criada, o sistema verifica DS_CONTEXTHELP e, se houver, adiciona WS_EX_CONTEXTHELP para o estendido estilo da caixa de diálogo. WS_EX_CONTEXTHELP não pode ser usado com os estilos WS_MAXIMIZEBOX ou WS_MINIMIZEBOX. |
DS_CONTROL | Cria uma caixa diálogo que funciona bem como um janela filho da outra caixa de diálogo, semelhante a uma página em um folha de propriedades. Esse estilo permite que o usuário separador entre as janelas de Controlarar de uma caixa de diálogo filho, use as chaves de accelerator e assim por diante. |
DS_FIXEDSYS | Faz com que a caixa de diálogo usar o SYSTEM_FIXED_FONT em vez do padrão SYSTEM_FONT. SYSTEM_FIXED_FONT é uma fonte monoespaçada compatível com a fonte do sistema em versões do Windows anteriores ao 3.0. |
DS_LOCALEDIT | Aplica-se a apenas aplicativos de 16 bits. Esse estilo direciona editar controles na caixa de diálogo alocar memória do segmento de dados do aplicativo. Caso contrário, editar controles alocar armazenamento de um objeto memória global. |
DS_MODALFRAME | Cria uma caixa diálogo com um quadro de janela restrita caixa de diálogo que pode ser combinado com uma barra de título e sistema menu especificando os estilos WS_CAPTION e WS_SYSMENU. |
DS_NOFAILCREATE | Windows 95: Cria a caixa de diálogo, mesmo se ocorrer erros — por exemplo, se não é possível criar uma janela filho ou se o sistema não é possível criar um segmento de dados especial para um controle editar. |
DS_NOIDLEMSG | Suprime mensagens WM_ENTERIDLE que o sistema seria caso contrário enviar para o proprietário da caixa de diálogo enquanto a caixa de diálogo é exibida. |
DS_SETFONT | Indica que o cabeçalho do modelo de caixa de diálogo contém dados adicionais especificando a fonte a ser usada para o texto na área cliente e controles de caixa de diálogo. Os dados fonte começam no limite da palavra que segue a matriz de título. Especifica um 16-bit apontar valor tamanho e uma Cadeia de caracteres de nome de tipo de letra Unicode. Se possível, o sistema cria uma fonte de acordo com os valores especificados. Então o sistema passa o identificador da fonte para a caixa de diálogo e para cada controle, enviando-lhes a mensagem WM_SETFONT. Se esse estilo não for especificado, o modelo de caixa de diálogo não inclui os dados fonte. |
DS_SETFOREGROUND | Faz com que o sistema usar o SetForegroundWindow função para trazer a caixa de diálogo para o primeiro plano. |
DS_SYSMODAL | Este estilo é obsoleto e é incluído para compatibilidade com versões anteriores do Windows. Se você especificar esse estilo, o sistema cria a caixa de diálogo com o estilo WS_EX_TOPMOST. Não combinar esse estilo com o estilo DS_CONTROL. |
Em um padrão modelo para uma caixa de diálogo, a DLGTEMPLATE estrutura é sempre imediatamente seguida de três matrizes de comprimento variável que especifica o menu, classe e título para a caixa de diálogo. Quando o estilo DS_SETFONT for fornecido, esses conjuntos também são seguidos por um 16-bit valor especificando tamanho apontar e outra matriz de comprimento variável especificando um nome face de tipos. Cada matriz consiste em um ou mais elementos de 16 bits. O menu, classe, título e matrizes fonte devem ser alinhados no WORD os limites.
Imediatamente seguinte a DLGTEMPLATE estrutura é uma matriz menu que identifica um recurso de menu para a caixa de diálogo. Se o primeiro elemento desta matriz for 0x0000, caixa de diálogo não tem nenhum menu e a matriz tem há outros elementos. Se o primeiro elemento é 0xFFFF, a matriz tem um elemento adicional que especifica o ordinal valor de um recurso de menu em um arquivo executável. Se o primeiro elemento tiver qualquer outro valor, o sistema trata a matriz como uma seqüência de caracteres Unicode null-terminated que especifica o nome de um recurso de menu em um arquivo executável.
Seguindo a matriz de menu é uma matriz classe que identifica a classe janela do controle. Se o primeiro elemento da matriz for 0x0000, o sistema usa a classe de caixa de diálogo predefinidas para a caixa de diálogo e a matriz tem há outros elementos. Se o primeiro elemento é 0xFFFF, a matriz tem um elemento adicional que especifica o ordinal valor de uma classe de janela do sistema predefinidos. Se o primeiro elemento tiver qualquer outro valor, o sistema trata a matriz como uma seqüência de caracteres Unicode null-terminated que especifica o nome de uma classe de janela registrado.
Seguinte matriz classe é uma matriz de título que especifica uma seqüência de caracteres Unicode null-terminated que contém o título da caixa de diálogo. Se o primeiro elemento desta matriz for 0x0000, caixa de diálogo não tem um título e a matriz tem há outros elementos.
O 16-bit apontar valor tamanho e a matriz de tipo de letra seguem a matriz de título, mas somente se o estilo membro especifica o estilo DS_SETFONT. O valor de tamanho de ponto Especifica o tamanho da fonte a ser usado para o texto na caixa de diálogo e seus controles. A matriz de tipo de letra é uma seqüência de caracteres Unicode null-terminated especificando o nome do tipo de letra para o tipo de letra. Quando esses valores são fornecidos, O sistema cria uma fonte ter dado tamanho e tipo de fonte (se possível) e envia uma mensagem WM_SETFONT para o procedimento caixa diálogo e os procedimentos de janela do Controlarar como ele cria a caixa de diálogo e controles.
Seguindo o DLGTEMPLATE cabeçalho em um padrão modelo caixa diálogo é um ou mais DLGITEMTEMPLATE estruturas que definem as dimensões e estilo dos controles na caixa de diálogo. O membro cdit especifica o número de DLGITEMTEMPLATE estruturas de modelo. Esses DLGITEMTEMPLATE estruturas devem ser alinhadas no DWORD os limites.
Se você especificar seqüências de caracteres no menu, classe, título ou matrizes de tipo de letra, você deve usar seqüências de caracteres Unicode. Para criar código que funciona em Windows e Windows NT, use o MultiByteToWideChar função para gerar esses seqüências Unicode.
Os x, y, cxe cy Membros especificar valores em unidades de caixa de diálogo. Você pode converter esses valores para unidades tela (pixels) usando o MapDialogRect função.
nbsp; Windows &NT: requer a versão 3.1 ou posterior.
Windows:Requer o Windows 95 ou posterior.
Windows CE:Requer versão 1.0 ou posterior.
Cabeçalho:Declarado em WinUser. h.
Visão geral de caixas de diálogo, estruturas de caixa de diálogo, CreateDialogIndirect, CreateDialogIndirectParam, DialogBoxIndirect, DialogBoxIndirectParam, DLGITEMTEMPLATE, DLGITEMTEMPLATEEX, DLGTEMPLATEEX, MapDialogRect, MultiByteToWideChar