EH_PWD

7.1.2/1
E' la struttura che contiene tutte le informazioni relative ad un documento.
Viene restituita da PowerDoc(WS_CREATE,...)

Sintassi

typedef struct {

	//
	// Caratteristiche del documento
	//
	PWD_LAY		enLayStyle;     // Stile del Layout di stampa (LR_PAGEFREE)
	PWD_UM		enMisure;	// Unità di misura default
					// 0= (default) 1/300 (trecentesimi di pollice) per compatibilità

	CHAR	*	pszDeviceDefine; // Stringa in formato DeviceDefine (Se non presente uso stampante di default easyhand)
	INT		iOrientation;	 // LPT_LANDSCAPE (non usato se la stampante non è indicata)
	DWORD		dwPrinterFlags;	 // Flag : PD_COLLATE
	INT		iCopyNumber;	 // Numero di copie: Numero di copie
	PWD_RECT	rumMargin;	 // Margine in enMisure
	INT		iCharEncode;	 // 0=Default ANSI Es. SE_UTF8

	//
	// Caratteristiche fisiche (ricavate dal driver o indicate da software esterno Es PDF)
	//

	HDC		hdcPrinter;
	DEVMODE	*	pDevMode;

	SIZE		sizDotPerInch;
	PWD_SIZE	sumPage;        // Larghezza ed altezza della pagina in scrittura 
	PWD_RECT	rumPage;        // Posizione e dimensione della pagina senza margini 
	PWD_SIZE	sumPhysicalPage;
	PWD_SIZE	sumPaper;       // Larghezza possibile (x e y) della pagina

	//
	// Layout preimpostato come report
	//
	BOOL		fDate;			 // Inserisci data in alto a sinistra
	CHAR *		lpDate;		 // Parametro da passare a data_sep
	BOOL		fPag;			 // Visualizza il numero di pagina
	INT		iPagStyle;      // 0=Pag. n  1= n
	CHAR *		lpTitolo;		 // Titolo della stampa
	CHAR *		lpSottoTitolo; // Sotto Titolo della stampa

	BOOL		fLineVertField; // Flag di separazione campi con linea verticale
	INT		iLineVertColor; // Colore linea verticale	
	BOOL		fLineHorzField; // Flag di separazione campi con linea orizzontale
	EH_COLOR	colLineHorzColor; // Colore linea orizzontale
	INT		iLineHorzStyle; // PS_SOLID
	BOOL		bRowsDynamic;   // true/false se ci sono da gestire linee dinamiche

	PWD_VAL		umHeadHeight; // Altezza testa del report Um di pollice (0=Automatica)
	PWD_VAL		umFootHeight; // Altezza piede del report Um di pollice (0=Automatica) ->  era ptCueHeight
	void *		(*funcNotify)(EN_MESSAGE,LONG,void *); //  Funzione per le notifiche esterne

	PWD_RECT	rumFieldPadding; // Padding dei campi

	PWD_VAL		umBodyHeight;    // Altezza del corpo        
	PWD_VAL		umBodyTop;		// Posizione fisica verticale (in dot) dell'inizio del corpo "righe" (ex yHeadDot)
	PWD_VAL		umBodyBottom;	// Posizione fisica verticale (in dot) della fine del corpo "righe" 
	PWD_VAL		umHeadBottom;	// Posizione fisica verticale della testata (senza il titolo del layout)	
//    double umFootHeight;    // Altezza in dot della "footer" di stampa ->   era yCueHeight
	PWD_VAL		umTitlePadded;	// Altezza del titolo+padding sopra e sotto
	PWD_VAL		umRowPadded;	// Altezza di una riga +padding sopra e sotto


	INT		iRowsSize;    // Altezza in righe della linea (Es. ci può essere 1 sola riga di descrizione ma alta (3 righe) per la presenza di campi testo/note dinamici)
	INT		iFieldNum;    // Reserved: Numero dei campi totali
	INT		iFieldPerRiga[LR_MAXLINERIGA]; // Reserved: Massimo 10 Linee (Numero di campi per linea)
	PWD_FIELD **arsField;	// Reserved: (Viene caricato dal LptReport)
	
	INT		iLinePerRiga; // Reserved: Numero di linee per riga (linee fisiche che contengono campi) (Viene calcolato in WS_ADD)
	INT		iPageCount;   // Reserved: Contatore delle pagine
	PWD_VAL		umRowOffset;		  // Posizione fisica della linea corrente (new 2007) ex yCurrentLine
	INT		iVirtualLineCount;   // Reserved: Contatore delle linee    
	INT		iVirtualLinePerPage; // Reserved: Line "Virtuali" possibili per pagina
	
//	INT iRowsLastLine; // Reserved: Ultime righe dell'ultima linea in costruzione (Per RowsDynamic)
	PWD_VAL		umRowLastHeight;	// report: Altezza dell'ultima riga stampata
	PWD_VAL		umRowMaxHeight;		// report: dimensioni massime di una riga in stampta
	INT		iRowLastVirtualLine;

	// Usati solo durante il REALSET delle linee
	BOOL		bBold;
	BOOL		bItalic;
	BOOL		bUnderLine;
	BOOL		fGColor;  // Abilito la modifica globale del colore
	LONG		lGColor;
	BOOL		fNoDecimal;

	INT		xChar;

	PWD_VAL		umRowHeight;	  // Altezza in um del carattere nella linea (senza padding) (era yChar)
	//SINT iRowHeight;	  // Altezza fisica in dot del carattere nella linea (senza padding) > CALCOLATA
	
	PWD_VAL		umTitleHeight;	  // Altezza in UM del titolo (senza padding) (Ex yTitleChar)
	//SINT iTitleHeight;	  // Altezza fisica in dot del titolo (senza padding)  > CALCOLATA

	CHAR *		pszFontTitleDefault;
	CHAR *		pszFontBodyDefault;
	CHAR *		pszDocumentName; // Nome della stampa (=NULL viene assegnato dal programma)
	BOOL		fMessageProcess; // T/F se voglio il mouse_inp durante il loop di stampa

	CHAR *		lpszICCFilename; // Puntatore al file di gestione del colore NULL=Standard windows

	//void * (*funcNotify)(void *, SINT cmd, LONG info,CHAR *str); //  funzione esterna di notifica
	LONG		lParam; // Per uso esterno
	BOOL		bPageInProgress; // T/F se la pagina è corso di completamento
	_DMI		dmiFont;
	CHAR *		pszTempFolder;	// NULL = Usa il folder di sistema, altrimenti quello indicato

#ifdef EH_PDF
	BOOL		bPdf;			// T/F se faccio il PDF diretto
	BOOL		bPdfShow;		// T/F se devo mostrare il pdf alla fine
	BOOL		bPdfChooseFile;	// T/F se deve scegliere il file di output
	CHAR *		pszPdfEncode;	// NULL = ISO8859-1
	CHAR *		pszPdfFileName;	// NULL = Chiedo il nome	
#endif

} EH_PWD; // Easyhand PowerDoc


//
// Definizione del subarea da stampare
// LptReportArea (per i Link)
//
typedef enum {
	PDN_HEAD,
	PDN_BODY,
	PDN_FOOT
} EN_PDN; // Power Document Notify


Parametri



Valori di ritorno


Commenti


Easyhand C/C++: EH_PWD | Last modified: 22/02/2021 16.58.58 Europe/Rome | #1.1461
P.. 1129
Easyhand C/C++
Una mano alle tue idee.
Privacy Policy