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
Outros recursos
Referência