Estrutura DLGITEMTEMPLATE (winuser.h)

Define as dimensões e o estilo de um controle em uma caixa de diálogo. Uma ou mais dessas estruturas são combinadas com uma estrutura DLGTEMPLATE para formar um modelo padrão para uma caixa de diálogo.

Sintaxe

typedef struct {
  DWORD style;
  DWORD dwExtendedStyle;
  short x;
  short y;
  short cx;
  short cy;
  WORD  id;
} DLGITEMTEMPLATE;

Membros

style

Tipo: DWORD

O estilo do controle. Esse membro pode ser uma combinação de valores de estilo de janela (como WS_BORDER) e um ou mais dos valores de estilo de controle (como BS_PUSHBUTTON e ES_LEFT).

dwExtendedStyle

Tipo: DWORD

Os estilos estendidos de uma janela. Esse membro não é usado para criar controles em 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.

x

Tipo: curto

A coordenada x, em unidades da caixa de diálogo, do canto superior esquerdo do controle. Essa coordenada é sempre relativa ao canto superior esquerdo da área do cliente da caixa de diálogo.

y

Tipo: curto

A coordenada y, em unidades de caixa de diálogo, do canto superior esquerdo do controle. Essa coordenada é sempre relativa ao canto superior esquerdo da área do cliente da caixa de diálogo.

cx

Tipo: curto

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

cy

Tipo: curto

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

id

Tipo: WORD

O identificador de controle.

Comentários

Em um modelo padrão para uma caixa de diálogo, a estrutura DLGITEMTEMPLATE é sempre seguida imediatamente por três matrizes de comprimento variável que especificam os dados de classe, título e criação para o controle. Cada matriz consiste em um ou mais elementos de 16 bits.

Cada estrutura DLGITEMTEMPLATE no modelo deve ser alinhada em um limite DWORD . As matrizes de classe e título devem ser alinhadas nos limites do WORD . A matriz de dados de criação deve ser alinhada em um limite do WORD .

Imediatamente após cada estrutura DLGITEMTEMPLATE é uma matriz de classe que especifica a classe de janela do controle. Se o primeiro elemento dessa matriz for qualquer valor diferente de 0xFFFF, o sistema tratará a matriz como uma cadeia de caracteres Unicode terminada em nulo que especifica o nome de uma classe de janela registrada. Se o primeiro elemento for 0xFFFF, a matriz terá um elemento adicional que especifica o valor ordinal de uma classe de sistema predefinida. O ordinal pode ser um dos seguintes valores átomos.

Valor Significado
0x0080 Botão
0x0081 Editar
0x0082 Estático
0x0083 Caixa de listagem
0x0084 Barra de rolagem
0x0085 Caixa de combinação
 

Seguindo a matriz de classes está uma matriz de título que contém o texto inicial ou o identificador de recurso do controle. Se o primeiro elemento dessa matriz for 0xFFFF, a matriz terá um elemento adicional que especifica um valor ordinal de um recurso, como um ícone, em um arquivo executável. Você pode usar um identificador de recurso para controles, como controles de ícone estático, que carregam e exibem um ícone ou outro recurso em vez de texto. Se o primeiro elemento for qualquer valor diferente de 0xFFFF, o sistema tratará a matriz como uma cadeia de caracteres Unicode terminada em nulo que especifica o texto inicial.

A matriz de dados de criação começa no próximo limite do WORD após a matriz de título. Esses dados de criação podem ser de qualquer tamanho e formato. Se a primeira palavra da matriz de dados de criação for diferente de zero, ela indicará o tamanho, em bytes, dos dados de criação (incluindo a palavra de tamanho). O procedimento de janela do controle deve ser capaz de interpretar os dados. Quando o sistema cria o controle, ele passa um ponteiro para esses dados no parâmetro lParam da mensagem WM_CREATE que ele envia para o controle.

Se você especificar cadeias de caracteres nas matrizes de classe e título, deverá usar cadeias de caracteres Unicode. Use a função MultiByteToWideChar para gerar 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

   
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

Createwindowex

DLGITEMTEMPLATEEX

DLGTEMPLATE

DLGTEMPLATEEX

Caixas de diálogo

Dialogboxindirect

Dialogboxindirectparam

MapDialogRect

MultiByteToWideChar

Outros recursos

Referência

WM_CREATE