DLGTEMPLATEEX

La struttura DLGTEMPLATEEX non è definita in ogni file di intestazione standard. La definizione della struttura è fornita qui di spiegare il formato di un modello esteso per un dialogo.

Un modello di finestra di dialogo esteso inizia con un colpo di testa 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 ha un blocco di dati che utilizza il formato DLGITEMTEMPLATEEX per descrivere il controllo.

 typedef struct {WORD dlgVer; PAROLA di firma; DWORD helpID; DWORD exStyle; Stile DWORD; WORD cDlgItems; breve x; y breve; cx breve; cy breve; menu di sz_Or_Ord; / / nome o ordinale della risorsa di menu sz_Or_Ord windowClass; / / nome o per ordinale di una classe di finestra Titolo WCHAR [titleLen]; / / titolo stringa nella finestra di dialogo pointsize breve; / / solo se è impostato il flag DS_SETFONT peso breve; / / solo se è impostato il flag DS_SETFONT breve bItalic; / / solo se è impostato il flag DS_SETFONT Tipo di carattere WCHAR [fontLen]; / / nome del carattere tipografico, se DS_SETFONT è impostato } DLGTEMPLATEEX 

Membri

dlgVer
Specifica il numero di versione del modello casella di dialogo esteso. Questo membro deve specificare 1.
firma
Indica se un modello è un modello di finestra di dialogo esteso. Il valore 0xFFFF indica un modello di finestra di dialogo esteso. In questo caso, il membro dlgVer specifica il numero di versione del modello. Se la firma è un valore diverso da 0xFFFF, questo è un modello standard che utilizza le strutture DLGTEMPLATE e DLGITEMTEMPLATE.
helpID
Specifica l'identificatore di contesto di aiuto per la finestra di dialogo casella. Quando il sistema invia un WM_HELP messaggio, passa questo valore nel membro dwContextId i HELPINFO struttura.
exStyle
Specifica stili estesi per una finestra. Questo membro non viene utilizzato per creare finestre di dialogo, ma le applicazioni che utilizzano modelli di casella di dialogo possono utilizzarlo per creare altri tipi di windows.
stile
Specifica lo stile della finestra di dialogo. Questo membro può essere una combinazione di valori di stile finestra (ad esempio WS_CAPTION e WS_SYSMENU) e uno o più dei seguenti valori di stile casella di dialogo.
Valore Significato
DS_3DLOOK Dà la finestra di dialogo carattere grassetto e disegna bordi tridimensionale intorno alle finestre del controllo nella finestra di dialogo.

Lo stile DS_3DLOOK è necessaria solo dalle applicazioni basate su Win32 compilate per versioni del sistema precedenti a Windows 95 o Windows NT 4.0. Il sistema si applica automaticamente l'aspetto tridimensionale a finestre di dialogo creati da applicazioni compilate per le versioni correnti del sistema.

DS_ABSALIGN Indica che le coordinate della finestra di dialogo sono coordinate dello schermo. Se questo stile non è specificato, il sistema li considera come coordinate client.
DS_CENTER La finestra di dialogo nell'area di lavoro; cioè, l'area non oscurata dal cassetto.
DS_CENTERMOUSE Centra il cursore del mouse nella finestra di dialogo.
DS_CONTEXTHELP Include un punto interrogativo nella barra del titolo della finestra di dialogo. Quando l'utente sceglie il punto interrogativo, il puntatore cambia a un punto interrogativo con un puntatore. Se poi l'utente fa clic su un controllo nella finestra di dialogo, il controllo riceve un messaggio WM_HELP. Il controllo deve passare il messaggio per la procedura di dialogo, che deve chiamare il funzione WinHelp utilizzando il comando HELP_WM_HELP. L'applicazione di Help Visualizza una finestra popup che in genere contiene la guida per il controllo.

Si noti che DS_CONTEXTHELP è solo un segnaposto. Quando viene creata la finestra di dialogo, il sistema controlla per DS_CONTEXTHELP e, se è lì, aggiunge WS_EX_CONTEXTHELP per lo stile esteso della finestra di dialogo. Non è possibile utilizzare lo stile WS_EX_CONTEXTHELP con gli stili WS_MAXIMIZEBOX o WS_MINIMIZEBOX.

DS_CONTROL Viene creata una finestra di dialogo che funziona bene come una finestra figlio di un'altra finestra di dialogo, molto simile a una pagina in una finestra delle proprietà. Questo stile permette all'utente di scheda tra le finestre di controllo di una finestra di dialogo bambino, utilizzare i tasti di scelta rapida e così via.
DS_FIXEDSYS Provoca la finestra di dialogo di utilizzare il SYSTEM_FIXED_FONT anziché il valore predefinito SYSTEM_FONT. SYSTEM_FIXED_FONT è un font monospace compatibile con il tipo di carattere di sistema nelle versioni di Windows precedenti a 3.0.
DS_LOCALEDIT Si applica a solo applicazioni a 16 bit. Questo stile dirige i controlli di modifica nella finestra di dialogo per allocare memoria dal segmento di dati dell'applicazione. In caso contrario, modificare i controlli allocano memoria da un oggetto memoria globale.
DS_MODALFRAME Crea una finestra di dialogo con una cornice di dialogo modale che può essere combinata con una barra del titolo e il menu di sistema specificando gli stili WS_CAPTION e WS_SYSMENU.
DS_NOFAILCREATE Windows 95: Crea la finestra di dialogo anche se si verificano errori — per esempio, se non è possibile creare una finestra figlio o se il sistema non è possibile creare un segmento di dati speciale per un controllo di modifica.
DS_NOIDLEMSG Elimina i messaggi WM_ENTERIDLE che il sistema altrimenti avrebbe inviato al proprietario della finestra di dialogo, mentre è visualizzata la finestra di dialogo.
DS_SETFONT Indica che l'intestazione DLGTEMPLATEEX del template casella di dialogo estesa contiene quattro membri supplementari (pointsize, peso, bItalice tipo di carattere) che descrivono il tipo di carattere da utilizzare per il testo in area client e controlli nella finestra di dialogo. Se possibile, il sistema crea un tipo di carattere specificato in questi membri dei valori. Il sistema passa quindi l'handle del tipo di carattere nella finestra di dialogo e a ogni controllo inviando il messaggio WM_SETFONT.

Se questo stile non è specificato, il modello di finestra di dialogo esteso non include i membri pointsize, peso, bItalice tipo di carattere.

DS_SETFOREGROUND Induce il sistema a utilizzare la funzione SetForegroundWindow per portare in primo piano la finestra di dialogo.
DS_SYSMODAL Questo stile è obsoleto ed è incluso per compatibilità con le versioni precedenti di Windows. Se viene specificato questo stile, il sistema crea la finestra di dialogo con lo stile WS_EX_TOPMOST. Non combinare questo stile con lo stile DS_CONTROL.

cDlgItems
Specifica il numero di controlli nella finestra di dialogo.
x
Specifica la coordinata x, in unità di casella di dialogo, dell'angolo superiore sinistro della finestra di dialogo.
y
Specifica la coordinata y, in unità di casella di dialogo, dell'angolo superiore sinistro della finestra di dialogo.
cx
Specifica la larghezza, in unità di casella di dialogo, nella finestra di dialogo.
cy
Specifica l'altezza, in unità di casella di dialogo, nella finestra di dialogo.
dal menu
Specifica una matrice di lunghezza variabile di elementi 16-bit che identifica una risorsa dal menu per la finestra di dialogo. Se il primo elemento della matrice è 0x0000, finestra di dialogo non ha nessun menu e la matrice non dispone altri elementi. Se il primo elemento è 0xFFFF, la matrice avrà un ulteriore elemento che specifica il valore ordinale di una risorsa di menu in un file eseguibile. Se il primo elemento è qualsiasi altro valore, il sistema considera la matrice come una stringa Unicode con terminazione null che specifica il nome della risorsa di menu in un file eseguibile.
windowClass
Specifica una matrice di lunghezza variabile di elementi 16-bit che identifica la classe della finestra di dialogo. Se il primo elemento della matrice è 0x0000, il sistema utilizza la classe box di dialogo predefinite per il dialogo e la matrice non ha altri elementi. Se il primo elemento è 0xFFFF, la matrice avrà un ulteriore elemento che specifica il valore ordinale di una classe di finestra di sistema predefiniti. Se il primo elemento è qualsiasi altro valore, il sistema considera la matrice come una stringa Unicode con terminazione null che specifica il nome di una classe finestra registrati.
titolo
Specifica una stringa Unicode con terminazione null che contiene il titolo della finestra di dialogo. Se il primo elemento della matrice è 0x0000, finestra di dialogo non ha nessun titolo e la matrice non ha altri elementi.
pointsize
Specifica la dimensione in punti del carattere da utilizzare per il testo nella finestra di dialogo e i relativi controlli. I membri pointsize, peso, bItalice font sono presenti in un modello di finestra di dialogo esteso solo se il membro di stile specifica lo stile DS_SETFONT.
peso
Specifica il peso del font nell'intervallo da 0 a 1000. Questo può essere uno dei valori elencati per la lfWeight membro del struttura LOGFONT . Questo membro è presente solo se il membro di stile specifica DS_SETFONT.
bItalic
Indica se il tipo di carattere corsivo. Se questo valore è TRUE, il tipo di carattere è Italica. Questo membro è presente solo se il membro di stile specifica DS_SETFONT.
tipo di carattere
Specifica una stringa Unicode con terminazione null che contiene il nome del carattere per il tipo di carattere. Questo membro è presente solo se il membro di stile specifica DS_SETFONT.

Osservazioni

È possibile utilizzare un modello di finestra di dialogo esteso invece di un modello di finestra di dialogo standard nelle funzioni CreateDialogIndirectParam e DialogBoxIndirectParam e le macro CreateDialogIndirect e DialogBoxIndirect . Un modello di finestra di dialogo standard utilizza le strutture DLGTEMPLATE e DLGITEMTEMPLATE.

A seguito dell'intestazione DLGTEMPLATEEX in un modello di finestra di dialogo estesa è una o più strutture DLGITEMTEMPLATEEX che descrivono i controlli nella finestra di dialogo. Il membro cDlgItems specifica il numero di strutture DLGITEMTEMPLATEEX nel modello.

Ogni struttura DLGITEMTEMPLATEEX del modello deve essere allineato su un confine DWORD . Se il membro di stile specifica lo stile DS_SETFONT, la prima struttura DLGITEMTEMPLATEEX comincia sul primo limite DWORD dopo la stringa di caratteri . Se DS_SETFONT non viene specificato, la prima struttura inizia sul primo limite DWORD dopo la stringa titolo.

Il menù, windowClass, titoloe matrici di caratteri devono essere allineati secondo limiti a WORD.

Se si specificano stringhe di caratteri nel menu, windowClass, titoloe matrici di carattere , è necessario utilizzare stringhe Unicode. Per creare codice che funziona su Windows e Windows NT, utilizzare la funzione MultiByteToWideChar per generare queste stringhe Unicode.

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

Descrizione

nbsp; Windows &NT: richiede 3,51 o versione successiva.
Windows:Richiede Windows 95 o versioni successive.
Windows CE:Non supportato.

Vedi anche

Panoramica di finestre di dialogo, finestra di dialogo casella strutture, CreateDialogIndirect, CreateDialogIndirectParam, DialogBoxIndirect, DialogBoxIndirectParam, DLGITEMTEMPLATE, DLGITEMTEMPLATEEX, DLGTEMPLATE, MapDialogRect, MultiByteToWideChar, WM_SETFONT