Condividi tramite


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

CreateDialogIndirect

CreateDialogIndirectParam

DialogBoxIndirect

DialogBoxIndirectParam

DLGITEMTEMPLATEEX

MapDialogRect

WM_SETFONT

Informazioni concettuali

Finestre di dialogo

Altre risorse

LOGFONT

Multibytetowidechar