Scopo
Tramite questa funzione è possibile mostrare il documento in una nuova videata. Non è necessario specificare quale videata deve essere aperta perchè il documento la conosce già.
Sintassi
IDForm NewForm := doc.Show(open as)
Argomenti
Open As | Specifica la modalità con cui deve essere aperta la videata. Deve essere uno dei valori della lista OpenAs, il valore di default è MDI |
Valore di ritorno
Viene ritornata l'istanza alla nuova videata aperta come oggetto di tipo IDForm, oppure NullObject se la videata non è stata aperta. Il valore di ritorno può essere ignorato in quando la form comunque appare a video e può essere referenziata anche tramite la lista delle form aperte.
Esempio di codice
// **************************************************************************
// Evento notificato dal book quando l'utente esegue un doppio click nel book
// **************************************************************************
event Desktop.LibroDesktop.OnMouseDoubleClick(
int Button // E' un numero intero che rappresenta il pulsante premuto: 0...
int X // Posizione X in pixel nella pagina alla quale è stato premu...
int Y // Posizione Y in pixel nella pagina alla quale è stato premu...
int XB // Posizione X in pixel nel browser alla quale è stato premut...
int YB // Posizione Y in pixel nel browser alla quale è stato premut...
int BoxID // Indice della box che è stata cliccata (-1 se il click è av...
inout boolean Cancel // Può essere impostato a True per non eseguire l'a...
)
{
// Apro il documento corrispondente all'icona
if Button = Left AND BoxID = LibroDesktop.NuovoReport.Icona.Me()
{
IDDocument d := IDDocument.GetFromDNA(LibroDesktop.DocDNAIcona, ??, ??
)
IDForm f := d.Show(Popup)
//
f.Left := XB + 64
f.Top := YB - 32
//
// Controllo che la videata rimanga nel video
if f.Left + f.Width > MDILeft + MDIWidth
{
f.Left := MDILeft + MDIWidth - f.Width
}
if f.Top + f.Height > MDITop + MDIHeight
{
f.Top := MDITop + MDIHeight - f.Height
}
}
}
// Evento notificato dal book quando l'utente esegue un doppio click nel book
// **************************************************************************
event Desktop.LibroDesktop.OnMouseDoubleClick(
int Button // E' un numero intero che rappresenta il pulsante premuto: 0...
int X // Posizione X in pixel nella pagina alla quale è stato premu...
int Y // Posizione Y in pixel nella pagina alla quale è stato premu...
int XB // Posizione X in pixel nel browser alla quale è stato premut...
int YB // Posizione Y in pixel nel browser alla quale è stato premut...
int BoxID // Indice della box che è stata cliccata (-1 se il click è av...
inout boolean Cancel // Può essere impostato a True per non eseguire l'a...
)
{
// Apro il documento corrispondente all'icona
if Button = Left AND BoxID = LibroDesktop.NuovoReport.Icona.Me()
{
IDDocument d := IDDocument.GetFromDNA(LibroDesktop.DocDNAIcona, ??, ??
)
IDForm f := d.Show(Popup)
//
f.Left := XB + 64
f.Top := YB - 32
//
// Controllo che la videata rimanga nel video
if f.Left + f.Width > MDILeft + MDIWidth
{
f.Left := MDILeft + MDIWidth - f.Width
}
if f.Top + f.Height > MDITop + MDIHeight
{
f.Top := MDITop + MDIHeight - f.Height
}
}
}
- La videata associata al documento viene impostata a design time: essa sarà la prima videata che deriva dal documento stesso. Normalmente viene creata nell'IDE trascinando il documento sull'applicazione, tenendo premuto shift. E' possibile modificare la videata associata al documento tirando un'altra form sul documento sempre tenendo premuto shift.
- E' possibile modificare a runtime la procedura di apertura del documento tramite l'evento OnShow.
Ultima modifica: 23/03/2021 / Validità: da 8.5.3800