Condividi tramite


Struttura DLGTEMPLATE (winuser.h)

Definisce le dimensioni e lo stile di una finestra di dialogo. Questa struttura, sempre la prima in un modello standard per una finestra di dialogo, specifica anche il numero di controlli nella finestra di dialogo e quindi specifica il numero di strutture DLGITEMTEMPLATE successive nel modello.

Sintassi

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

Members

style

Tipo: DWORD

Stile della finestra di dialogo. Questo membro può essere una combinazione di valori di stile finestra ,ad esempio WS_CAPTION e WS_SYSMENU) e valori di stile della finestra di dialogo , ad esempio DS_CENTER.

Se il membro di stile include lo stile DS_SETFONT , l'intestazione del modello della finestra di dialogo contiene dati aggiuntivi che specificano il tipo di carattere da utilizzare per il testo nell'area client e nei controlli della finestra di dialogo. I dati del tipo di carattere iniziano sul limite WORD che segue la matrice del titolo. I dati del tipo di carattere specificano un valore di dimensione del punto a 16 bit e una stringa di nome carattere Unicode. Se possibile, il sistema crea un carattere in base ai valori specificati. Il sistema invia quindi un messaggio WM_SETFONT alla finestra di dialogo e a ogni controllo per fornire un handle al tipo di carattere. Se DS_SETFONT non è specificato, il modello della finestra di dialogo non include i dati del tipo di carattere.

Lo stile DS_SHELLFONT non è supportato nell'intestazione DLGTEMPLATE .

dwExtendedStyle

Tipo: DWORD

Stili estesi per una finestra. Questo membro non viene usato per creare 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.

cdit

Tipo: WORD

Numero di elementi nella finestra di dialogo.

x

Tipo: breve

Coordinata x, nella finestra di dialogo unità, dell'angolo superiore sinistro della finestra di dialogo.

y

Tipo: breve

Coordinata y, nella finestra di dialogo unità, dell'angolo superiore sinistro della finestra di dialogo.

cx

Tipo: breve

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

cy

Tipo: breve

Altezza, nelle unità della finestra di dialogo, della finestra di dialogo.

Commenti

In un modello standard per una finestra di dialogo la struttura DLGTEMPLATE viene sempre seguita da tre matrici a lunghezza variabile che specificano il menu, la classe e il titolo per la finestra di dialogo. Quando viene specificato lo stile DS_SETFONT, queste matrici vengono seguite anche da un valore a 16 bit che specifica le dimensioni del punto e un'altra matrice a lunghezza variabile che specifica un nome di tipoface. Ogni matrice è costituita da uno o più elementi a 16 bit. Il menu, la classe, il titolo e le matrici di tipi di carattere devono essere allineati ai limiti di WORD .

Immediatamente dopo la struttura DLGTEMPLATE è una matrice di menu che identifica una risorsa di menu per la finestra di dialogo. Se il primo elemento di questa matrice è 0x0000, la finestra di dialogo non ha alcun menu e la matrice non ha altri elementi. Se il primo elemento è 0xFFFF, la matrice ha un elemento aggiuntivo che specifica il valore ordinale di una risorsa di menu in un file eseguibile. Se il primo elemento ha un altro valore, il sistema considera la matrice come stringa Unicode con terminazione null che specifica il nome di una risorsa di menu in un file eseguibile.

Seguendo la matrice di menu è una matrice di classi che identifica la classe finestra della finestra di dialogo. Se il primo elemento della matrice è 0x0000, il sistema usa la classe della finestra di dialogo predefinita per la finestra di dialogo e la matrice non ha altri elementi. Se il primo elemento è 0xFFFF, la matrice ha un elemento aggiuntivo che specifica il valore ordinale di una classe di finestra di sistema predefinita. Se il primo elemento ha un altro valore, il sistema considera la matrice come stringa Unicode con terminazione null che specifica il nome di una classe di finestra registrata.

Seguendo la matrice di classi è una matrice di titolo che specifica una stringa Unicode con terminazione null contenente il titolo della finestra di dialogo. Se il primo elemento di questa matrice è 0x0000, la finestra di dialogo non ha titolo e la matrice non ha altri elementi.

Il valore delle dimensioni del punto a 16 bit e la matrice di caratteri di tipo seguono la matrice del titolo, ma solo se il membro di stile specifica lo stile DS_SETFONT. Il valore delle dimensioni del punto specifica la dimensione del punto del tipo di carattere da utilizzare per il testo nella finestra di dialogo e i relativi controlli. La matrice di caratteri tipizzata è una stringa Unicode con terminazione null specificando il nome del carattere di tipo. Quando vengono specificati questi valori, il sistema crea un tipo di carattere con le dimensioni e il carattere di tipo specificati (se possibile) e invia un messaggio WM_SETFONT alla procedura della finestra di dialogo e alle procedure della finestra di controllo durante la creazione della finestra di dialogo e dei controlli.

Dopo l'intestazione DLGTEMPLATE in un modello di finestra di dialogo standard, una o più strutture DLGITEMTEMPLATE che definiscono le dimensioni e lo stile dei controlli nella finestra di dialogo. Il membro cdit specifica il numero di strutture DLGITEMTEMPLATE nel modello. Queste strutture DLGITEMTEMPLATE devono essere allineate ai limiti DWORD .

Se si specificano stringhe di caratteri nel menu, classe, titolo o matrici di caratteri di tipo, è necessario usare stringhe Unicode.

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

Requisito Valore
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

DLGITEMTEMPLATE

DLGITEMTEMPLATEEX

DLGTEMPLATEEX

Finestre di dialogo

DialogBoxIndirect

DialogBoxIndirectParam

MapDialogRect

MultiByteToWideChar

Altre risorse

Riferimento