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

Createdialogindirect

Createdialogindirectparam

Dialogboxindirect

Dialogboxindirectparam

DLGITEMTEMPLATEEX

MapDialogRect

WM_SETFONT

Conceitual

Caixas de diálogo

Outros recursos

LOGFONT

MultiByteToWideChar