Struttura DLGTEMPLATEEX
Un modello di finestra di dialogo esteso inizia con un'intestazione DLGTEMPLATEEX che descrive la finestra di dialogo e specifica il numero di controlli nella finestra di dialogo. Per ogni controllo in una finestra di dialogo, un modello di finestra di dialogo esteso include un blocco di dati che usa il formato DLGITEMTEMPLATEEX per descrivere il controllo.
La struttura DLGTEMPLATEEX non è definita in alcun file di intestazione standard. La definizione della struttura viene fornita qui per spiegare il formato di un modello esteso per una finestra di dialogo.
Sintassi
typedef struct {
WORD dlgVer;
WORD signature;
DWORD helpID;
DWORD exStyle;
DWORD style;
WORD cDlgItems;
short x;
short y;
short cx;
short cy;
sz_Or_Ord menu;
sz_Or_Ord windowClass;
WCHAR title[titleLen];
WORD pointsize;
WORD weight;
BYTE italic;
BYTE charset;
WCHAR typeface[stringLen];
} DLGTEMPLATEEX;
Members
-
dlgVer
-
Tipo: WORD
-
Numero di versione del modello della finestra di dialogo estesa. Questo membro deve essere impostato su 1.
-
URL REST
-
Tipo: WORD
-
Indica se un modello è un modello di finestra di dialogo esteso. Se la firma è 0xFFFF, si tratta di un modello di finestra di dialogo esteso. In questo caso, il membro dlgVer specifica il numero di versione del modello. Se la firma è qualsiasi valore diverso da 0xFFFF, si tratta di un modello di finestra di dialogo standard che usa le strutture DLGTEMPLATE e DLGITEMTEMPLATE.
-
helpID
-
Tipo: DWORD
-
Identificatore del contesto della Guida per la finestra di dialogo. Quando il sistema invia un messaggio di WM_HELP , passa questo valore nel membro wContextId della struttura HELPINFO .
-
exStyle
-
Tipo: DWORD
-
Stili di finestre estese. Questo membro non viene usato durante la creazione di 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.
-
style
-
Tipo: DWORD
-
Stile della finestra di dialogo. Questo membro può essere una combinazione di valori di stile finestra e valori di stile della finestra di dialogo.
Se lo stile include lo stile della finestra di dialogo DS_SETFONT o DS_SHELLFONT , l'intestazione DLGTEMPLATEEX del modello della finestra di dialogo estesa contiene quattro membri aggiuntivi ( punti, peso, corsivo e tipoface) che descrivono il tipo di carattere da utilizzare per il testo nell'area client e nei controlli della finestra di dialogo. Se possibile, il sistema crea un carattere in base ai valori specificati in questi membri. Il sistema invia quindi un messaggio WM_SETFONT alla finestra di dialogo e a ogni controllo per fornire un handle al tipo di carattere.
Per altre informazioni, vedere Finestra di dialogo Tipi di carattere.
-
cDlgItems
-
Tipo: WORD
-
Numero di controlli 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.
-
Menu
-
Tipo: sz_Or_Ord
-
Matrice a lunghezza variabile di elementi a 16 bit 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.
-
windowClass
-
Tipo: sz_Or_Ord
-
Matrice a lunghezza variabile di elementi a 16 bit che identifica la classe di 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.
-
title
-
Tipo: WCHAR[titleLen]
-
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.
-
pointize
-
Tipo: WORD
-
Dimensione punto del tipo di carattere da utilizzare per il testo nella finestra di dialogo e i relativi controlli.
Questo membro è presente solo se il membro di stile specifica DS_SETFONT o DS_SHELLFONT.
-
weight
-
Tipo: WORD
-
Spessore del tipo di carattere. Si noti che, anche se questo può essere uno dei valori elencati per il membro lfWeight della struttura LOGFONT , qualsiasi valore utilizzato verrà modificato automaticamente in FW_NORMAL.
Questo membro è presente solo se il membro di stile specifica DS_SETFONT o DS_SHELLFONT.
-
corsivo
-
Tipo: BYTE
-
Indica se il carattere è corsivo. Se questo valore è TRUE, il carattere è corsivo.
Questo membro è presente solo se il membro di stile specifica DS_SETFONT o DS_SHELLFONT.
-
Charset
-
Tipo: BYTE
-
Oggetto del set di caratteri da usare. Per altre informazioni, vedere il membro lfcharset di LOGFONT.
Questo membro è presente solo se il membro di stile specifica DS_SETFONT o DS_SHELLFONT.
-
Carattere tipografico
-
Tipo: WCHAR[stringLen]
-
Nome del carattere digitato per il carattere.
Questo membro è presente solo se il membro di stile specifica DS_SETFONT o DS_SHELLFONT.
Commenti
È possibile usare un modello di finestra di dialogo esteso anziché un modello di finestra di dialogo standard nelle funzioni CreateDialogIndirectParam, DialogBoxIndirectParam, CreateDialogIndirect e DialogBoxIndirect .
Seguendo l'intestazione DLGTEMPLATEEX in un modello di finestra di dialogo esteso è una o più strutture DLGITEMTEMPLATEEX che descrivono i controlli della finestra di dialogo. Il membro cDlgItems della struttura DLGITEMTEMPLATEEX specifica il numero di strutture DLGITEMTEMPLATEEX che seguono nel modello.
Ogni struttura DLGITEMTEMPLATEEX nel modello deve essere allineata a un limite DWORD . Se il membro di stile specifica lo stile DS_SETFONT o DS_SHELLFONT , la prima struttura DLGITEMTEMPLATEEX inizia sul primo limite DWORD dopo la stringa di carattere tipizzato . Se questi stili non vengono specificati, la prima struttura inizia sul primo limite DWORD dopo la stringa del titolo .
Il menu, windowClass, titolo e matrici di caratteri tipizzata deve essere allineato ai limiti di WORD .
Se si specificano stringhe di caratteri nel menu, windowClass, titolo e matrici di caratteri di tipo , è necessario usare stringhe Unicode. Usare la funzione MultiByteToWideChar per generare queste 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
Requisito | Valore |
---|---|
Client minimo supportato |
Windows 2000 Professional [solo app desktop] |
Server minimo supportato |
Windows 2000 Server [solo app desktop] |
Vedi anche
-
Riferimento
-
Informazioni concettuali
-
Altre risorse