Compartilhar via


Estrutura DLGTEMPLATE (winuser.h)

Define as dimensões e o estilo de uma caixa de diálogo. Essa estrutura, sempre a primeira em um modelo padrão 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 estruturas DLGITEMTEMPLATE subsequentes no modelo.

Sintaxe

typedef struct {
  DWORD style;
  DWORD dwExtendedStyle;
  WORD  cdit;
  short x;
  short y;
  short cx;
  short cy;
} DLGTEMPLATE;

Membros

style

Tipo: DWORD

O estilo da caixa de diálogo. Esse membro pode ser uma combinação de valores de estilo de janela (como WS_CAPTION e WS_SYSMENU) e valores de estilo de caixa de diálogo (como DS_CENTER).

Se o membro de estilo incluir o estilo DS_SETFONT , o cabeçalho do modelo da caixa de diálogo conterá dados adicionais especificando a fonte a ser usada para texto na área do cliente e controles da caixa de diálogo. Os dados da fonte começam no limite do WORD que segue a matriz de título. Os dados da fonte especificam um valor de tamanho de ponto de 16 bits e uma cadeia de caracteres de nome de fonte Unicode. Se possível, o sistema cria uma fonte de acordo com os valores especificados. 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. Se DS_SETFONT não for especificado, o modelo da caixa de diálogo não incluirá os dados da fonte.

Não há suporte para o estilo DS_SHELLFONT no cabeçalho DLGTEMPLATE .

dwExtendedStyle

Tipo: DWORD

Os estilos estendidos de uma janela. Esse membro não é usado para criar caixas de diálogo, mas 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.

cdit

Tipo: WORD

O número de itens na caixa de diálogo.

x

Tipo: short

A coordenada x, em unidades de caixa de diálogo, do canto superior esquerdo da caixa de diálogo.

y

Tipo: short

A coordenada y, em unidades de caixa de diálogo, do canto superior esquerdo da caixa de diálogo.

cx

Tipo: short

A largura, em unidades da caixa de diálogo, da caixa de diálogo.

cy

Tipo: short

A altura, em unidades da caixa de diálogo, da caixa de diálogo.

Comentários

Em um modelo padrão para uma caixa de diálogo, a estrutura DLGTEMPLATE é sempre seguida imediatamente por três matrizes de comprimento variável que especificam o menu, a classe e o título da caixa de diálogo. Quando o estilo de DS_SETFONT é especificado, essas matrizes também são seguidas por um valor de 16 bits especificando o tamanho do ponto e outra matriz de comprimento variável especificando um nome de face de tipo. Cada matriz consiste em um ou mais elementos de 16 bits. As matrizes de menu, classe, título e fonte devem estar alinhadas nos limites do WORD .

Imediatamente após a estrutura DLGTEMPLATE , há uma matriz de menus 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.

Seguindo a matriz de menus está uma matriz de classes 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 do sistema predefinida. 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.

Seguindo a matriz de classes está uma matriz de título que especifica uma cadeia de caracteres Unicode terminada em nulo que contém o título da caixa de diálogo. Se o primeiro elemento dessa matriz for 0x0000, a caixa de diálogo não terá título e a matriz não terá outros elementos.

O valor de tamanho do ponto de 16 bits e a matriz typeface seguem a matriz de título, mas somente se o membro de estilo especificar o estilo DS_SETFONT. O valor de tamanho do ponto especifica o tamanho do ponto da fonte a ser usada para o texto na caixa de diálogo e seus controles. A matriz typeface é uma cadeia de caracteres Unicode terminada em nulo que especifica o nome da face de tipo para a fonte. Quando esses valores são especificados, o sistema cria uma fonte com o tamanho e a face de tipo especificados (se possível) e envia uma mensagem WM_SETFONT para o procedimento da caixa de diálogo e os procedimentos da janela de controle à medida que cria a caixa de diálogo e os controles.

Seguindo o cabeçalho DLGTEMPLATE em um modelo de caixa de diálogo padrão estão uma ou mais estruturas DLGITEMTEMPLATE que definem as dimensões e o estilo dos controles na caixa de diálogo. O membro cdit especifica o número de estruturas DLGITEMTEMPLATE no modelo. Essas estruturas DLGITEMTEMPLATE devem estar alinhadas nos limites DWORD .

Se você especificar cadeias de caracteres no menu, classe, título ou matrizes de face de tipo, deverá usar cadeias de caracteres Unicode.

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]
Cabeçalho winuser.h (inclua Windows.h)

Confira também

Conceitual

Createdialogindirect

Createdialogindirectparam

DLGITEMTEMPLATE

DLGITEMTEMPLATEEX

DLGTEMPLATEEX

Caixas de diálogo

Dialogboxindirect

Dialogboxindirectparam

MapDialogRect

MultiByteToWideChar

Outros recursos

Referência