Personalizzare l’aspetto delle app con i nuovi tipi di finestre

Tradotto automaticamente da Deepl

Con 4D 20 R5, che apre nuove possibilità di personalizzazione delle applicazioni, due tipi di finestre aggiuntive offrono ora finestre modali o non modali flessibili senza barre del titolo. Ciò significa piena libertà di personalizzare l’aspetto dell’applicazione in base alle proprie specifiche. Immaginate di ridisegnare la barra del titolo per adattarla all’estetica desiderata, integrando funzioni come una casella di ricerca personalizzata o altri elementi senza soluzione di continuità.

Ma non è tutto! Abbiamo anche introdotto diversi nuovi comandi progettati per semplificare il processo di sviluppo:

  • Ridurre una finestra nella barra del titolo su Windows o nel dock su macOS,
  • Sapere se la finestra è ridotta nella barra del titolo su Windows o nel dock su macOS,
  • Sapere se la finestra è massimizzata.

HDI: migliorare la forma

Nuovi tipi di finestra

Due nuove costanti possono essere utilizzate con il comando Open form window con il comando

$winRef1:=Open form window("myForm1"; Plain form window no title)
$winRef2 :=Open form window("myForm2"; Movable form dialog box no title)

Form without title bar, with a "Hello World!" static text and a "OK" button

Ecco un esempio con una barra del titolo personalizzata:

  • Un rettangolo con il colore di sfondo automatico. Quindi, su macOS, in modalità chiara il rettangolo è bianco e in modalità scura è nero.
  • Un pulsante invisibile sopra il rettangolo. Facendo clic, il pulsante attiva il comando DRAG WINDOW che consente di spostare la finestra.
  • Tre pulsanti, Chiudi, Massimizza e Minimizza con i relativi comandi MAXIMIZE WINDOW, MINIMIZE WINDOW, e REDUCE RESTORE WINDOW. Per quanto riguarda l’aspetto dei pulsanti, un po’ più complicato per macOS, il rollover viene eseguito su tutti e tre i pulsanti contemporaneamente. Quindi, sugli eventi On Mouse enter e On Mouse Leave, le icone dei pulsanti vengono modificate con il comando OBJECT SET FORMAT comando.

 

Su macOS:

Modulo semplice senza titolo

Plain form window with a custom title bar that contains "close", "minimize" maximize" buttons and a search area.

Finestra di dialogo mobile senza titolo

Modal dialog with a custom title bar that contains "close", "minimize", "maximize" and "help"buttons

Su WindowS:

Modulo semplice senza titolo

blank

Finestra di dialogo mobile senza titolo

blank

 

Questo esempio è in diretta:

Nuovi comandi

Oltre a questi nuovi tipi di finestra, sono stati introdotti anche alcuni comandi utili per semplificare il processo di sviluppo:

  • Il comando REDUCE RESTORE WINDOW consente di ridurre la finestra principale o la finestra denominata nella barra delle applicazioni su Windows in modalità SDI o nel dock su macOS. Se la finestra è stata ridotta, il comando la ripristina allo stato precedente.

REDUCE RESTORE WINDOW($winRef)

  • Il comando Is window reduced aiuta a determinare se una finestra si trova attualmente nello stato ridotto. Questa conoscenza può essere sfruttata per eseguire azioni specifiche in base allo stato della finestra.

If(Is window reduced($winRef))
// Do something
End if

  • Il comando Is window maximized consente di sapere se la finestra è nello stato massimizzato, in modo da poter passare facilmente dallo stato massimizzato a quello precedente.

If(Is window maximized($winRef))
MINIMUM WINDOW ($winRef)
Else
MAXIMIZE WINDOW ($winRef)
End if

E…

Per ulteriori informazioni sui diversi tipi di finestra, consultare questa pagina di documentazione. Non esitate a condividere le incredibili interfacce che avete creato con questa funzione sul Forum 4D.

Vanessa Talbot
- Product Owner - Vanessa Talbot è entrata a far parte del team di 4D Program nel giugno 2014. In qualità di Product Owner, è incaricata di scrivere le storie degli utenti e di tradurle in specifiche funzionali. Il suo ruolo è anche quello di assicurarsi che l'implementazione della funzionalità fornita soddisfi le esigenze del cliente. Ha lavorato sulla maggior parte delle nuove funzionalità di multi-threading preemptive e anche su un argomento molto complesso: la nuova architettura per le applicazioni con motore. Vanessa si è laureata presso Telecom Saint-Etienne. Ha iniziato la sua carriera presso il Criminal Research Institute come sviluppatrice per il dipartimento audiovisivo. Ha lavorato anche nei settori dei media e della medicina come esperta di supporto tecnico, produzione e documentazione di nuove funzionalità.