Struttura PAGESETUPDLGA (commdlg.h)

Contiene informazioni utilizzate dalla funzione PageSetupDlg per inizializzare la finestra di dialogo Imposta pagina . Dopo che l'utente chiude la finestra di dialogo, il sistema restituisce informazioni sui parametri di pagina definiti dall'utente in questa struttura.

Sintassi

typedef struct tagPSDA {
  DWORD           lStructSize;
  HWND            hwndOwner;
  HGLOBAL         hDevMode;
  HGLOBAL         hDevNames;
  DWORD           Flags;
  POINT           ptPaperSize;
  RECT            rtMinMargin;
  RECT            rtMargin;
  HINSTANCE       hInstance;
  LPARAM          lCustData;
  LPPAGESETUPHOOK lpfnPageSetupHook;
  LPPAGEPAINTHOOK lpfnPagePaintHook;
  LPCSTR          lpPageSetupTemplateName;
  HGLOBAL         hPageSetupTemplate;
} PAGESETUPDLGA, *LPPAGESETUPDLGA;

Members

lStructSize

Tipo: DWORD

Dimensione, in byte, della struttura.

hwndOwner

Tipo: HWND

Handle per la finestra proprietaria della finestra di dialogo. Questo membro può essere qualsiasi handle di finestra valido oppure può essere NULL se la finestra di dialogo non ha proprietario.

hDevMode

Tipo: HGLOBAL

Handle per un oggetto memoria globale che contiene una struttura DEVMODE . Se viene specificato un handle, i valori nella struttura DEVMODE corrispondente vengono utilizzati per inizializzare i controlli nella finestra di dialogo. Nell'output la finestra di dialogo imposta hDevMode su un handle di memoria globale su una struttura DEVMODE contenente valori che specificano le selezioni dell'utente. Se le selezioni dell'utente non sono disponibili, la finestra di dialogo imposta hDevMode su NULL.

hDevNames

Tipo: HGLOBAL

Handle per un oggetto memoria globale che contiene una struttura DEVNAMES . Questa struttura contiene tre stringhe che specificano il nome del driver, il nome della stampante e il nome della porta di output. Se viene specificato un handle, le stringhe nella struttura DEVNAMES corrispondente vengono utilizzate per inizializzare i controlli nella finestra di dialogo. Nell'output la finestra di dialogo imposta hDevNames su un handle di memoria globale su una struttura DEVNAMES che contiene stringhe che specificano le selezioni dell'utente. Se le selezioni dell'utente non sono disponibili, la finestra di dialogo imposta hDevNames su NULL.

Flags

Tipo: DWORD

Set di flag di bit che è possibile usare per inizializzare la finestra di dialogo Imposta pagina . Quando la finestra di dialogo viene restituita, imposta questi flag per indicare l'input dell'utente. Questo membro può essere uno o più dei valori seguenti.

Valore Significato
PSD_DEFAULTMINMARGINS
0x00000000
Imposta i valori minimi che l'utente può specificare per i margini della pagina in modo che siano i margini minimi consentiti dalla stampante. Questo è il valore predefinito. Questo flag viene ignorato se vengono specificati anche i flag PSD_MARGINS e PSD_MINMARGINS .
PSD_DISABLEMARGINS
0x00000010
Disabilita i controlli margine, impedendo all'utente di impostare i margini.
PSD_DISABLEORIENTATION
0x00000100
Disabilita i controlli di orientamento, impedendo all'utente di impostare l'orientamento della pagina.
PSD_DISABLEPAGEPAINTING
0x00080000
Impedisce alla finestra di dialogo di disegnare il contenuto della pagina di esempio. Se si abilita una routine hook PagePaintHook , è comunque possibile disegnare il contenuto della pagina di esempio.
PSD_DISABLEPAPER
0x00000200
Disabilita i controlli carta, impedendo all'utente di impostare parametri di pagina, ad esempio il formato e l'origine della carta.
PSD_DISABLEPRINTER
0x00000020
Obsoleta.

Windows XP/2000: Disabilita il pulsante Stampante , impedendo all'utente di richiamare una finestra di dialogo contenente informazioni aggiuntive sulla configurazione della stampante.

PSD_ENABLEPAGEPAINTHOOK
0x00040000
Abilita la routine hook specificata nel membro lpfnPagePaintHook .
PSD_ENABLEPAGESETUPHOOK
0x00002000
Abilita la routine hook specificata nel membro lpfnPageSetupHook .
PSD_ENABLEPAGESETUPTEMPLATE
0x00008000
Indica che i membri hInstance e lpPageSetupTemplateName specificano un modello di finestra di dialogo da usare al posto del modello predefinito.
PSD_ENABLEPAGESETUPTEMPLATEHANDLE
0x00020000
Indica che il membro hPageSetupTemplate identifica un blocco di dati che contiene un modello di finestra di dialogo precaricato. Il sistema ignora il membro lpPageSetupTemplateName se questo flag è specificato.
PSD_INHUNDREDTHSOFMILLIMETERS
0x00000008
Indica che i centesimi di millimetri sono l'unità di misura per i margini e le dimensioni della carta. I valori nei membri rtMargin, rtMinMargin e ptPaperSize sono in centesimi di millimetri. È possibile impostare questo flag sull'input per eseguire l'override dell'unità di misura predefinita per le impostazioni locali dell'utente. Quando la funzione viene restituita, la finestra di dialogo imposta questo flag per indicare le unità utilizzate.
PSD_INTHOUSANDTHSOFINCHES
0x00000004
Indica che i millesimi di pollici sono l'unità di misura per i margini e le dimensioni della carta. I valori nei membri rtMargin, rtMinMargin e ptPaperSize sono in millesimi di pollici. È possibile impostare questo flag sull'input per eseguire l'override dell'unità di misura predefinita per le impostazioni locali dell'utente. Quando la funzione viene restituita, la finestra di dialogo imposta questo flag per indicare le unità utilizzate.
PSD_INWININIINTLMEASURE
0x00000000
Riservato.
PSD_MARGINS
0x00000002
Fa in modo che il sistema usi i valori specificati nel membro rtMargin come larghezze iniziali per i margini sinistro, superiore, destro e inferiore. Se PSD_MARGINS non è impostato, il sistema imposta la larghezza iniziale su un pollice per tutti i margini.
PSD_MINMARGINS
0x00000001
Fa in modo che il sistema usi i valori specificati nel membro rtMinMargin come larghezza minima consentita per i margini sinistro, superiore, destro e inferiore. Il sistema impedisce all'utente di immettere una larghezza minore del valore minimo specificato. Se non viene specificato PSD_MINMARGINS, il sistema imposta le larghezze minime consentite su quelle consentite dalla stampante.
PSD_NONETWORKBUTTON
0x00200000
Nasconde e disabilita il pulsante Rete .
PSD_NOWARNING
0x00000080
Impedisce al sistema di visualizzare un messaggio di avviso quando non è presente alcuna stampante predefinita.
PSD_RETURNDEFAULT
0x00000400

PageSetupDlg non visualizza la finestra di dialogo. Imposta invece i membri hDevNames e hDevMode su handle per le strutture DEVMODE e DEVNAMES inizializzate per la stampante predefinita del sistema. PageSetupDlg restituisce un errore se hDevNames o hDevMode non è NULL.

PSD_SHOWHELP
0x00000800
Fa sì che la finestra di dialogo visualizzi il pulsante ? . Il membro hwndOwner deve specificare la finestra per ricevere i messaggi registrati HELPMSGSTRING inviati dalla finestra di dialogo quando l'utente fa clic sul pulsante ? .

ptPaperSize

Tipo: POINT

Dimensioni della carta selezionata dall'utente. Il flag PSD_INTHOUSANDTHSOFINCHES o PSD_INHUNDREDTHSOFMILLIMETERS indica le unità di misura.

rtMinMargin

Tipo: RECT

Larghezza minima consentita per i margini sinistro, superiore, destro e inferiore. Il sistema ignora questo membro se il flag PSD_MINMARGINS non è impostato. Questi valori devono essere minori o uguali ai valori specificati nel membro rtMargin . Il flag PSD_INTHOUSANDTHSOFINCHES o PSD_INHUNDREDTHSOFMILLIMETERS indica le unità di misura.

rtMargin

Tipo: RECT

Larghezze dei margini sinistro, superiore, destro e inferiore. Se si imposta il flag PSD_MARGINS , rtMargin specifica i valori del margine iniziale. Quando PageSetupDlg restituisce, rtMargin contiene le larghezze del margine selezionate dall'utente. Il flag PSD_INHUNDREDTHSOFMILLIMETERS o PSD_INTHOUSANDTHSOFINCHES indica le unità di misura.

hInstance

Tipo: HINSTANCE

Se il flag PSD_ENABLEPAGESETUPTEMPLATE è impostato nel membro Flags , hInstance è un handle per l'applicazione o l'istanza del modulo che contiene il modello di finestra di dialogo denominato dal membro lpPageSetupTemplateName .

lCustData

Tipo: LPARAM

Dati definiti dall'applicazione che il sistema passa alla routine hook identificata dal membro lpfnPageSetupHook . Quando il sistema invia il messaggio WM_INITDIALOG alla routine hook, il parametro lParam del messaggio è un puntatore alla struttura PAGESETUPDLG specificata al momento della creazione del dialogo. La procedura hook può usare questo puntatore per ottenere il valore lCustData .

lpfnPageSetupHook

Tipo: LPPAGESETUPHOOK

Puntatore a una routine hook PageSetupHook in grado di elaborare i messaggi destinati alla finestra di dialogo. Questo membro viene ignorato a meno che il flag PSD_ENABLEPAGESETUPHOOK non sia impostato nel membro Flags .

lpfnPagePaintHook

Tipo: LPPAGEPAINTHOOK

Puntatore a una routine hook PagePaintHook che riceve messaggi WM_PSD_* dalla finestra di dialogo ogni volta che la pagina di esempio viene ridisegnata. Elaborando i messaggi, la procedura hook può personalizzare l'aspetto della pagina di esempio. Questo membro viene ignorato a meno che il flag PSD_ENABLEPAGEPAINTHOOK non sia impostato nel membro Flags .

lpPageSetupTemplateName

Tipo: LPCTSTR

Nome della risorsa modello della finestra di dialogo nel modulo identificato dal membro hInstance . Questo modello viene sostituito con il modello della finestra di dialogo standard. Per le risorse della finestra di dialogo numerate, lpPageSetupTemplateName può essere un valore restituito dalla macro MAKEINTRESOURCE . Questo membro viene ignorato a meno che il flag PSD_ENABLEPAGESETUPTEMPLATE non sia impostato nel membro Flags .

hPageSetupTemplate

Tipo: HGLOBAL

Se il flag PSD_ENABLEPAGESETUPTEMPLATEHANDLE è impostato nel membro Flags , hPageSetupTemplate è un handle per un oggetto memoria contenente un modello di finestra di dialogo.

Commenti

Se i flag PSD_INHUNDREDTHSOFMILLIMETERS e PSD_INTHOUSANDTHSOFINCHES non vengono specificati, il sistema esegue una query sul valore LOCALE_IMEASURE delle impostazioni locali utente predefinite per determinare l'unità di misura (centesimi di millimetri o millesimi di pollici) per la larghezza del margine e le dimensioni della carta.

Se sia hDevNames che hDevMode hanno handle validi e il nome della stampante specificato dal membro wDeviceOffset della struttura DEVNAMES non corrisponde al nome specificato dal membro dmDeviceName della struttura DEVMODE , il sistema usa il nome specificato da wDeviceOffset per impostazione predefinita.

Nota

L'intestazione commdlg.h definisce PAGESETUPDLG come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Intestazione commdlg.h (include Windows.h)

Vedi anche

Libreria delle finestre di dialogo comuni

Informazioni concettuali

DEVMODE

DEVNAMES

MAKEINTRESOURCE

Altre risorse

PagePaintHook

PageSetupDlg

PageSetupHook

Riferimento

WM_INITDIALOG