Estrutura DLGTEMPLATEEX
Um modelo de caixa de diálogo estendido 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 controle 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.
A estrutura DLGTEMPLATEEX não é definida em nenhum arquivo de cabeçalho padrão. A definição de estrutura é fornecida aqui para explicar o formato de um modelo estendido para uma caixa de diálogo.
Sintaxe
typedef struct {
WORD dlgVer;
WORD signature;
DWORD helpID;
DWORD exStyle;
DWORD style;
WORD cDlgItems;
short x;
short y;
short cx;
short cy;
sz_Or_Ord menu;
sz_Or_Ord windowClass;
WCHAR title[titleLen];
WORD pointsize;
WORD weight;
BYTE italic;
BYTE charset;
WCHAR typeface[stringLen];
} DLGTEMPLATEEX;
Membros
-
dlgVer
-
Tipo: WORD
-
O número de versão do modelo da caixa de diálogo estendida. Esse membro deve ser definido como 1.
-
assinatura
-
Tipo: WORD
-
Indica se um modelo é um modelo de caixa de diálogo estendido. Se a assinatura for 0xFFFF, este será um modelo de caixa de diálogo estendido. Nesse caso, o membro dlgVer especifica o número de versão do modelo. Se a assinatura for qualquer valor diferente de 0xFFFF, este será um modelo de caixa de diálogo padrão que usa as estruturas DLGTEMPLATE e DLGITEMTEMPLATE .
-
helpID
-
Tipo: DWORD
-
O identificador de contexto de ajuda para a janela da caixa de diálogo. Quando o sistema envia uma mensagem WM_HELP , ele passa esse valor no membro wContextId da estrutura HELPINFO .
-
Exstyle
-
Tipo: DWORD
-
Os estilos estendidos das janelas. Esse membro não é usado ao criar caixas de diálogo, mas os aplicativos que usam modelos de caixa de diálogo podem usá-lo para criar outros tipos de janelas. Para obter uma lista de valores, consulte Estilos de janela estendidos.
-
style
-
Tipo: DWORD
-
O estilo da caixa de diálogo. Esse membro pode ser uma combinação de valores de estilo de janela e valores de estilo de caixa de diálogo.
Se o estilo incluir o estilo da caixa de diálogo DS_SETFONT ou DS_SHELLFONT , o cabeçalho DLGTEMPLATEEX do modelo de caixa de diálogo estendida conterá quatro membros adicionais ( pontos, peso, itálico e typeface) que descrevem a fonte a ser usada para o texto na área do cliente e controles da caixa de diálogo. Se possível, o sistema cria uma fonte de acordo com os valores especificados nesses membros. Em seguida, o sistema envia uma mensagem WM_SETFONT para a caixa de diálogo e para cada controle para fornecer um identificador para a fonte.
Para obter mais informações, consulte Fontes da caixa de diálogo.
-
cDlgItems
-
Tipo: WORD
-
O número de controles na caixa de diálogo.
-
x
-
Tipo: curto
-
A coordenada x, em unidades da caixa de diálogo, do canto superior esquerdo da caixa de diálogo.
-
y
-
Tipo: curto
-
A coordenada y, em unidades da caixa de diálogo, do canto superior esquerdo da caixa de diálogo.
-
cx
-
Tipo: curto
-
A largura, em unidades da caixa de diálogo, da caixa de diálogo.
-
cy
-
Tipo: curto
-
A altura, em unidades da caixa de diálogo, da caixa de diálogo.
-
menu
-
Tipo: sz_Or_Ord
-
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 dessa matriz for 0x0000, a caixa de diálogo não terá nenhum menu e a matriz não terá outros elementos. Se o primeiro elemento for 0xFFFF, a matriz terá um elemento adicional que especifica o valor ordinal de um recurso de menu em um arquivo executável. Se o primeiro elemento tiver qualquer outro valor, o sistema tratará a matriz como uma cadeia de caracteres Unicode terminada em nulo que especifica o nome de um recurso de menu em um arquivo executável.
-
windowClass
-
Tipo: sz_Or_Ord
-
Uma matriz de comprimento variável de elementos de 16 bits que identifica a classe de janela da caixa de diálogo. Se o primeiro elemento da matriz for 0x0000, o sistema usará a classe de caixa de diálogo predefinida para a caixa de diálogo e a matriz não terá outros elementos. Se o primeiro elemento for 0xFFFF, a matriz terá um elemento adicional que especifica o valor ordinal de uma classe de janela predefinida do sistema. Se o primeiro elemento tiver qualquer outro valor, o sistema tratará a matriz como uma cadeia de caracteres Unicode terminada em nulo que especifica o nome de uma classe de janela registrada.
-
title
-
Tipo: WCHAR[titleLen]
-
O título da caixa de diálogo. Se o primeiro elemento dessa matriz for 0x0000, a caixa de diálogo não terá nenhum título e a matriz não terá outros elementos.
-
Pointsize
-
Tipo: WORD
-
O tamanho do ponto da fonte a ser usada para o texto na caixa de diálogo e seus controles.
Esse membro estará presente somente se o membro de estiloespecificar DS_SETFONT ou DS_SHELLFONT.
-
weight
-
Tipo: WORD
-
O peso da fonte. Observe que, embora isso possa ser qualquer um dos valores listados para o membro lfWeight da estrutura LOGFONT , qualquer valor usado será alterado automaticamente para FW_NORMAL.
Esse membro estará presente somente se o membro de estiloespecificar DS_SETFONT ou DS_SHELLFONT.
-
italic
-
Tipo: BYTE
-
Indica se a fonte é itálica. Se esse valor for TRUE, a fonte será itálica.
Esse membro estará presente somente se o membro de estiloespecificar DS_SETFONT ou DS_SHELLFONT.
-
charset
-
Tipo: BYTE
-
O conjunto de caracteres a ser usado. Para obter mais informações, consulte o membro lfcharset do LOGFONT.
Esse membro estará presente somente se o membro de estiloespecificar DS_SETFONT ou DS_SHELLFONT.
-
Tipo
-
Tipo: WCHAR[stringLen]
-
O nome da face de tipo da fonte.
Esse membro estará presente somente se o membro de estiloespecificar DS_SETFONT ou DS_SHELLFONT.
Comentários
Você pode usar um modelo de caixa de diálogo estendida em vez de um modelo de caixa de diálogo padrão nas funções CreateDialogIndirectParam, DialogBoxIndirectParam, CreateDialogIndirect e DialogBoxIndirect .
Seguindo o cabeçalho DLGTEMPLATEEX em um modelo de caixa de diálogo estendida está uma ou mais estruturas DLGITEMTEMPLATEEX que descrevem os controles da caixa de diálogo. O membro cDlgItems da estrutura DLGITEMTEMPLATEEX especifica o número de estruturas DLGITEMTEMPLATEEX que seguem no modelo.
Cada estrutura DLGITEMTEMPLATEEX no modelo deve ser alinhada em um limite DWORD . Se o membro de estilo especificar o estilo DS_SETFONT ou DS_SHELLFONT , a primeira estrutura DLGITEMTEMPLATEEX começará no primeiro limite DWORD após a cadeia de caracteres typeface . Se esses estilos não forem especificados, a primeira estrutura começará no primeiro limite DWORD após a cadeia de caracteres de título .
As matrizes menu, windowClass, title e typeface devem ser alinhadas nos limites do WORD .
Se você especificar cadeias de caracteres no menu, windowClass, título e matrizes de typeface , deverá usar cadeias de caracteres Unicode. Use a função MultiByteToWideChar para gerar essas cadeias de caracteres Unicode de cadeias de caracteres ANSI.
Os membros x, y, cx e cy especificam valores em unidades da caixa de diálogo. Você pode converter esses valores em unidades de tela (pixels) usando a função MapDialogRect .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte |
Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte |
Windows 2000 Server [somente aplicativos da área de trabalho] |
Confira também
-
Referência
-
Conceitual
-
Outros recursos