Scopo
Questa proprietà rappresenta l'orientamento della pagina. I possibili valori della proprietà sono PORTRAIT (orientamento verticale) e LANDSCAPE (orientamento orizzontale). Tali valori sono elencati nella lista valori PageOrientation.
Sintassi
int or = 0 // Orientamento della pagina
//
or := TemplatePage.Orientation
//
or := TemplatePage.Orientation
Quando letta
Ritorna l'orientamento della pagina. Il valore restitito è uno dei valori contenuti nella lista valori PageOrientation.
Quando impostata
Imposta l'orientamento della pagina. Il valore deve essere uno dei valori contenuti nella lista valori PageOrientation.
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
}
}
}
- Normalmente la proprietà Orientation viene valorizzata all'interno dell'evento di OnFormatting della pagina per impostare l'orientamento della singola copia in fase di formattazione.
- Attenzione: Se la proprietà Orientation viene modificata all'interno dell'evento OnFormatting della pagina la modifica ha effetto solo sulla pagina in fase di formattazione (vedi la lezione Eventi di formattazione del videocorso). Se la proprietà Orientation viene modificata al di fuori dell'evento OnFormatting della pagina, da quel momento in poi tutte le copie della pagina avranno la proprietà Orientation valorizzata allo stesso modo. In quest'ultimo caso è come se alla proprietà Orientation fosse stato fornito tale valore a design-time.
- Se la proprietà Orientation 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à Orientation 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: 06/10/2021 / Validità: da 6.5.2680