DLGTEMPLATEEX

A estrutura DLGTEMPLATEEX não está definida em qualquer arquivo de cabeçalho padrão. A definição de estrutura é fornecida aqui para explicar o formato de um modelo para uma caixa de diálogo estendido.

Um modelo de caixa de diálogo estendida começa com um cabeçalho DLGTEMPLATEEX que descreve a caixa de diálogo e especifica o número de controles na caixa de diálogo. Para cada Controlarar em uma caixa de diálogo, um modelo de caixa de diálogo estendida tem um bloco de dados que usa o formato DLGITEMTEMPLATEEX para descrever o controle.

 typedef struct {palavra dlgVer; PALAVRA assinatura; DWORD helpID; ExStyle DWORD; Estilo de DWORD; PALAVRA cDlgItems; x curto; y curto; cx curto; cy curto; menu de sz_Or_Ord; / / nome ou ordinal de um recurso menu windowClass sz_Or_Ord; / / nome ou ordinal de uma classe de janela Título WCHAR [titleLen]; / / título seqüência de caracteres de caixa de diálogo pointsize curto; / / só se DS_SETFONT sinalizador é definido Peso curto; / / só se DS_SETFONT sinalizador é definido bItalic curto; / / só se DS_SETFONT sinalizador é definido Fonte WCHAR [fontLen]; / / nome face de tipos, se DS_SETFONT for definido } DLGTEMPLATEEX 

Membros

dlgVer
Especifica o número de versão do modelo de caixa de diálogo estendida. Este membro deve especificar 1.
assinatura
Indica se um modelo é um modelo de caixa de diálogo estendida. Um valor de 0xFFFF indica um modelo de caixa de diálogo estendida. Neste caso, o membro dlgVer especifica o número de versão do modelo. Se a assinatura é qualquer valor other than 0xFFFF, este é um modelo padrão que usa as estruturas DLGTEMPLATE e DLGITEMTEMPLATE.
helpID
Especifica a identificador de contexto de ajuda para a janela de caixa de diálogo. Quando o sistema envia um WM_HELP mensagem, ele passa esse valor o dwContextId membro do estrutura HELPINFO.
exStyle
Especifica estendido estilos para uma janela. Este membro não é usado para criar caixas de diálogo, mas os aplicativos que usam modelos caixa de diálogo podem usá-lo para criar outros tipos de janelas.
estilo
Especifica o estilo da caixa de diálogo. Esse membro pode ser uma combinação de valores estilo janela (como WS_CAPTION e WS_SYSMENU) e um ou mais dos seguintes valores de estilo de caixa de diálogo.
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 trata-los como 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. Você não pode usar o estilo WS_EX_CONTEXTHELP 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 DLGTEMPLATEEX de modelo de caixa de diálogo estendida contém quatro membros adicionais (pointsize, peso, bItalice fonte) que descrevem o tipo de letra a utilizar para o texto na área cliente e controles de caixa de diálogo. Se possível, o sistema cria uma fonte de acordo com os valores especificados nesses Membros. 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 estendida não inclui os membros pointsize, peso, bItalice 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.

cDlgItems
Especifica o número de controles na caixa de diálogo.
x
Especifica o x-coordenar, em unidades caixa diálogo, do canto superior esquerdo da caixa de diálogo.
y
Especifica a y-coordenar, em unidades caixa diálogo, do canto superior esquerdo da caixa de diálogo.
cx
Especifica a largura, em unidades caixa diálogo, da caixa de diálogo.
cy
Especifica a altura, em unidades caixa diálogo, da caixa de diálogo.
menu
Especifica uma matriz de comprimento variável de elementos de 16 bits 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.
windowClass
Especifica uma matriz de comprimento variável de elementos de 16 bits que identifica a classe de janela de caixa de diálogo. 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.
título
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.
pointsize
Especifica o tamanho da fonte a ser usado para o texto na caixa de diálogo e seus controles. Os membros pointsize, peso, bItalice fonte estão presentes em um modelo de caixa de diálogo estendida somente se o estilo membro especifica o estilo DS_SETFONT.
peso
Especifica o peso da fonte no intervalo de 0 a 1000. Isso pode ser qualquer um dos valores listados para o membro lfWeight a estrutura de LOGFONT . Este membro está presente somente se o estilo membro especifica DS_SETFONT.
bItalic
Indica se a fonte é itálico. Se esse valor for TRUE, a fonte é itálico. Este membro está presente somente se o estilo membro especifica DS_SETFONT.
fonte
Especifica uma seqüência de caracteres Unicode null-terminated que contém o nome do tipo de letra para o tipo de letra. Este membro está presente somente se o estilo membro especifica DS_SETFONT.

Observações

Você pode usar um modelo de caixa de diálogo estendida em vez de um modelo de caixa de diálogo padrão no CreateDialogIndirectParam e DialogBoxIndirectParam funções e o CreateDialogIndirect e DialogBoxIndirect macros. Um modelo de caixa de diálogo padrão usa as estruturas DLGTEMPLATE e DLGITEMTEMPLATE.

Após o cabeçalho DLGTEMPLATEEX em um modelo de caixa de diálogo estendida é uma ou mais estruturas DLGITEMTEMPLATEEX que descrevem os controles da caixa de diálogo. O membro cDlgItems especifica o número de estruturas DLGITEMTEMPLATEEX de modelo.

Cada estrutura DLGITEMTEMPLATEEX no modelo deve ser alinhada em um DWORD limite. Se o estilo membro especifica o estilo DS_SETFONT, o primeiro DLGITEMTEMPLATEEX estrutura começa na primeiro DWORD limite após a Cadeia de caracteres de fonte . Se DS_SETFONT não for especificado, a primeira estrutura começa na primeiro DWORD limite após a Cadeia de caracteres de título.

O menu, windowClass, títuloe fonte matrizes devem ser alinhados no WORD os limites.

Se você especificar seqüências de caracteres no menu, windowClass, títuloe fonte matrizes, 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.

QuickInfo

nbsp; Windows &NT: requer versão 3.51 ou posterior.
Windows:Requer o Windows 95 ou posterior.
Windows CE:Não suportado.

Ver também

Visão geral de caixas de diálogo, estruturas de caixa de diálogo, CreateDialogIndirect, CreateDialogIndirectParam, DialogBoxIndirect, DialogBoxIndirectParam, DLGITEMTEMPLATE, DLGITEMTEMPLATEEX, DLGTEMPLATE, MapDialogRect, MultiByteToWideChar, WM_SETFONT