DLGTEMPLATE

La struttura DLGTEMPLATE definisce le dimensioni e lo stile di una finestra di dialogo. Questa struttura, sempre il primo in un modello standard di una finestra di dialogo specifica anche il numero dei controlli nella finestra di dialogo e quindi specifica il numero di strutture DLGITEMTEMPLATE successive nel modello.

typedef struct {/ / dltt stile DWORD; 
    DWORD dwExtendedStyle; 
    WORD cdit; 
    breve x; 
    y breve; 
    cx breve; 
    cy breve; 
} DLGTEMPLATE 
 

Membri

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 assume che sono 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 casella 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. WS_EX_CONTEXTHELP non può essere utilizzato 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 del modello di finestra di dialogo contiene dati aggiuntivi, specificando il tipo di carattere da utilizzare per il testo dei controlli nella finestra di dialogo e area client. I dati di carattere comincia con il limite di parola che segue la matrice del titolo. Specifica un valore di dimensione punto 16 bit e una stringa del nome del tipo di carattere Unicode. Se possibile, il sistema crea un tipo di carattere, ai valori specificati. 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 non include i dati 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.

dwExtendedStyle
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.
cdit
Specifica il numero di elementi 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.

Osservazioni

In un modello standard per una finestra di dialogo, la struttura DLGTEMPLATE è sempre immediatamente seguita da tre matrici di lunghezza variabile che specificano il menù, classe e il titolo per la finestra di dialogo. Quando lo stile DS_SETFONT è dato, queste matrici sono seguite anche da un valore di 16-bit che specifica la dimensione in punti e un altro array di lunghezza variabile, specificando il nome del carattere tipografico. Ogni matrice è costituito da uno o più elementi di 16 bit. Il menù, classe, titolo e matrici di caratteri devono essere allineati secondo limiti a WORD.

Subito dopo la struttura DLGTEMPLATE è una matrice di menù 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.

Seguendo la matrice del menù è una matrice di classe che identifica la classe della finestra del controllo. 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.

Seguendo la matrice di classe è una matrice di titolo che 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.

Il valore di size del punto 16 bit e la matrice di carattere tipografico seguire la matrice del titolo, ma solo se il membro di stile specifica lo stile DS_SETFONT. Il valore di size punto specifica la dimensione in punti del carattere da utilizzare per il testo nella finestra di dialogo e i relativi controlli. La matrice di carattere tipografico è una stringa Unicode con terminazione null specificando il nome del carattere per il tipo di carattere. Quando questi valori sono indicati, il sistema crea un oggetto font avendo le dimensioni determinato e il carattere tipografico (se possibile) e Invia un messaggio WM_SETFONT alla procedura casella di dialogo e le procedure di controllo finestra come crea la finestra di dialogo e controlli.

Seguendo l'intestazione DLGTEMPLATE in un modello di finestra di dialogo standard è uno 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 allineati secondo limiti DWORD.

Se si specificano stringhe di caratteri nel menù, classe, titolo o matrici di carattere tipografico, è 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.1 o versione successiva.
Windows:Richiede Windows 95 o versioni successive.
Windows CE:Richiede la versione 1.0 o successiva.
Intestazione:Dichiarata in winuser.

Vedi anche

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

Rimedio: Inserire il CD-ROM CD di MSDN Library.

Index