Scopo
Questa proprietà rappresenta la larghezza della pagina.
Sintassi
int dx = 0 // Larghezza della pagina
//
dx := TemplatePage.Width
//
dx := TemplatePage.Width
Quando letta
Ritorna la larghezza della pagina ed è misurata nell'unità di misura definita a design time per il book, normalmente in millimetri.
Quando impostata
Imposta la larghezza della pagina nell'unità di misura definita a design time per il book, normalmente in millimetri.
Esempio di codice
// *******************************
// Fired when a page is formatting
// *******************************
event ProdottiBook.ProdottiBook.ProdottiBookPage.OnFormatting()
{
int Pg = 0 //
boolean flFound = 0 // This variable is true if the linked query has ret...
//
record Parametro
int NumeroPagina = 0 //
int Width = 0 // Larghezza della pagina
int Height = 0 // Altezza della pagina
int Orientation = 0 // Orientamento della pagina
//
// Recupero il numero di pagina in fase di formattazione
Pg := ProdottiBook.PageNumber()
//
// Vediamo se ci sono particolari configurazioni per questa pagina
select into variables (flFound)
set Parametro.Width := Width
set Parametro.Height := Height
set Parametro.Orientation := Orientation
from
ParametriBook // Master Table
where
NumeroPagina = Pg
//
// Se ci sono configurazioni particolari, le applico
if flFound
{
if NOT(IsNull(Parametro.Width)) AND Parametro.Width <> ProdottiBook.
ProdottiBookPage.Width
{
ProdottiBook.ProdottiBookPage.Width := Parametro.Width
}
if NOT(IsNull(Parametro.Height)) AND Parametro.Height <> ProdottiBook.
ProdottiBookPage.Height
{
ProdottiBook.ProdottiBookPage.Height := Parametro.Height
}
if NOT(IsNull(Parametro.Orientation)) AND Parametro.Orientation <>
ProdottiBook.ProdottiBookPage.Orientation
{
ProdottiBook.ProdottiBookPage.Orientation := Parametro.Orientation
}
}
}
// Fired when a page is formatting
// *******************************
event ProdottiBook.ProdottiBook.ProdottiBookPage.OnFormatting()
{
int Pg = 0 //
boolean flFound = 0 // This variable is true if the linked query has ret...
//
record Parametro
int NumeroPagina = 0 //
int Width = 0 // Larghezza della pagina
int Height = 0 // Altezza della pagina
int Orientation = 0 // Orientamento della pagina
//
// Recupero il numero di pagina in fase di formattazione
Pg := ProdottiBook.PageNumber()
//
// Vediamo se ci sono particolari configurazioni per questa pagina
select into variables (flFound)
set Parametro.Width := Width
set Parametro.Height := Height
set Parametro.Orientation := Orientation
from
ParametriBook // Master Table
where
NumeroPagina = Pg
//
// Se ci sono configurazioni particolari, le applico
if flFound
{
if NOT(IsNull(Parametro.Width)) AND Parametro.Width <> ProdottiBook.
ProdottiBookPage.Width
{
ProdottiBook.ProdottiBookPage.Width := Parametro.Width
}
if NOT(IsNull(Parametro.Height)) AND Parametro.Height <> ProdottiBook.
ProdottiBookPage.Height
{
ProdottiBook.ProdottiBookPage.Height := Parametro.Height
}
if NOT(IsNull(Parametro.Orientation)) AND Parametro.Orientation <>
ProdottiBook.ProdottiBookPage.Orientation
{
ProdottiBook.ProdottiBookPage.Orientation := Parametro.Orientation
}
}
}
- Se si desidera modificare a runtime la larghezza delle pagine da stampare è possibile impostare la proprietà Width. E' anche possibile modificare la larghezza di una singola pagina ed in questo caso è necessario impostarla all'interno dell'evento di OnFormatting.
- Attenzione: Se la proprietà Width viene modificata all'interno dell'evento OnFormatting della pagina la modifica ha effetto solo sulla pagina in fase di formattazione (consulta il video tutorial Mastro On Formatting). Se la proprietà Width viene modificata al di fuori dell'evento OnFormatting della pagina, da quel momento in poi tutte le copie della pagina avranno la proprietà Width valorizzata allo stesso modo. In quest'ultimo caso è come se alla proprietà Width fosse stato fornito tale valore a design-time.
- Se la proprietà Width viene modificata all'interno di una procedura legata ad una box contenuta nella pagina tale modifica ha effetto solo sulla pagina che contiene la box cliccata. Tale modifica equivale ad una modifica alla proprietà fatta all'interno dell'evento OnFormatting della pagina che contiene la box.
- Se viene modificata la proprietà Width durante l'evento OnFormatting non è necessario ristampare il book. Tale modifica avrà effetto immediato. Qualora, invece, la modifica sia fatta fuori dall'evento OnFormatting e non all'interno della procedura collegata ad una box contenuta nella pagina potrebbe essere necessario ristampare il book utilizzando la procedura Refresh dello stesso.
-
Se alla proprietà Orientation della pagina viene assegnato il valore LANDSCAPE le proprietà Width e Height non vengono tra loro scambiate. In questo caso i valori contenuti nelle proprietà Width e Height della pagina indicano rispettivamente l'altezza e la larghezza della pagina.
Quindi, per ottenere la larghezza effettiva di una pagina occorre utilizzare la seguente espressione:
LarghPag = if(TemplatePage.Orientation = Portrait, TemplatePage.Width, TemplatePage.Height)
Un'espressione analoga è richiesta per il calcolo dell'altezza effettiva di una pagina template.
Ultima modifica: 02/11/2022 / Validità: da 6.5.2680
proprietà