Condividi tramite


Struttura DLGITEMTEMPLATE (winuser.h)

Definisce le dimensioni e lo stile di un controllo in una finestra di dialogo. Una o più di queste strutture sono combinate con una struttura DLGTEMPLATE per formare un modello standard per una finestra di dialogo.

Sintassi

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

Members

style

Tipo: DWORD

Stile del controllo. Questo membro può essere una combinazione di valori di stile finestra ( ad esempio WS_BORDER) e uno o più dei valori dello stile del controllo (ad esempio BS_PUSHBUTTON e ES_LEFT).

dwExtendedStyle

Tipo: DWORD

Stili estesi per una finestra. Questo membro non viene usato per creare controlli nelle finestre di dialogo, ma le applicazioni che usano i modelli di finestra di dialogo possono usarla per creare altri tipi di finestre. Per un elenco di valori, vedere Stili finestra estesi.

x

Tipo: breve

Coordinata x, nella finestra di dialogo unità, dell'angolo superiore sinistro del controllo. Questa coordinata è sempre relativa all'angolo superiore sinistro dell'area client della finestra di dialogo.

y

Tipo: breve

Coordinata y, nella finestra di dialogo unità, dell'angolo superiore sinistro del controllo. Questa coordinata è sempre relativa all'angolo superiore sinistro dell'area client della finestra di dialogo.

cx

Tipo: breve

Larghezza, in unità della finestra di dialogo, del controllo.

cy

Tipo: breve

Altezza, in unità della finestra di dialogo, del controllo.

id

Tipo: WORD

Identificatore del controllo.

Commenti

In un modello standard per una finestra di dialogo, la struttura DLGITEMTEMPLATE viene sempre seguita da tre matrici a lunghezza variabile che specificano la classe, il titolo e i dati di creazione per il controllo. Ogni matrice è costituita da uno o più elementi a 16 bit.

Ogni struttura DLGITEMTEMPLATE nel modello deve essere allineata a un limite DWORD . Le matrici di classi e titolo devono essere allineate ai limiti di WORD . La matrice di dati di creazione deve essere allineata a un limite WORD .

Immediatamente dopo ogni struttura DLGITEMTEMPLATE è una matrice di classi che specifica la classe della finestra del controllo. Se il primo elemento di questa matrice è qualsiasi valore diverso da 0xFFFF, il sistema considera la matrice come stringa Unicode con terminazione null che specifica il nome di una classe di finestra registrata. Se il primo elemento è 0xFFFF, la matrice ha un elemento aggiuntivo che specifica il valore ordinale di una classe di sistema predefinita. L'ordinale può essere uno dei valori atom seguenti.

Valore Significato
0x0080 Pulsante
0x0081 Modifica
0x0082 Static
0x0083 Casella di riepilogo
0x0084 Barra di scorrimento
0x0085 Casella combinata
 

Seguendo la matrice di classi è una matrice di titolo che contiene il testo iniziale o l'identificatore della risorsa del controllo. Se il primo elemento di questa matrice è 0xFFFF, la matrice ha un elemento aggiuntivo che specifica un valore ordinale di una risorsa, ad esempio un'icona, in un file eseguibile. È possibile usare un identificatore di risorsa per i controlli, ad esempio controlli icona statici, che caricano e visualizzano un'icona o un'altra risorsa anziché testo. Se il primo elemento è qualsiasi valore diverso da 0xFFFF, il sistema considera la matrice come stringa Unicode con terminazione null che specifica il testo iniziale.

La matrice di dati di creazione inizia al limite word successivo dopo la matrice del titolo. Questi dati di creazione possono essere di qualsiasi dimensione e formato. Se la prima parola della matrice di dati di creazione non è zero, indica le dimensioni, in byte, dei dati di creazione (inclusa la parola dimensione). La procedura della finestra del controllo deve essere in grado di interpretare i dati. Quando il sistema crea il controllo, passa un puntatore a questi dati nel parametro lParam del messaggio WM_CREATE che invia al controllo.

Se si specificano stringhe di caratteri nelle matrici di classi e titolo, è necessario usare stringhe Unicode. Usare la funzione MultiByteToWideChar per generare stringhe Unicode da stringhe ANSI.

I membri x, y, cx e cy specificano i valori nelle unità della finestra di dialogo. È possibile convertire questi valori in unità dello schermo (pixel) usando la funzione MapDialogRect .

Requisiti

   
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Intestazione winuser.h (include Windows.h)

Vedi anche

Informazioni concettuali

CreateDialogIndirect

CreateDialogIndirectParam

CreateWindowEx

DLGITEMTEMPLATEEX

DLGTEMPLATE

DLGTEMPLATEEX

Finestre di dialogo

DialogBoxIndirect

DialogBoxIndirectParam

MapDialogRect

MultiByteToWideChar

Altre risorse

Riferimento

WM_CREATE