Apertura di un form figlio di form mdi dal login

di il
20 risposte

20 Risposte - Pagina 2

  • Re: Apertura di un form figlio di form mdi dal login

    Boh! 

  • Re: Apertura di un form figlio di form mdi dal login

    20/04/2024 - grumpy ha scritto:


    Ehi calma! La mia era solo un'osservazione innocente di tipo generico. Apprezzo comunque la tua ironia.

    Ironia era. :)

    20/04/2024 - grumpy ha scritto:


    Dal mio personale punto di vista, per quel poco che possa valere, mi pare che la principale obiezione all'uso dei form MDI sia… che sono passati di moda e quindi, essendo per natura contrario alle mode, io continuo ad usarli con soddisfazione

    Capisco il punto di vista, nel senso che pure io sono contrario alle “mode in quanto tali”, ma qui le valutazioni sono meramente tecniche: un paradigma che non viene più utilizzato e che risulta fuorviante per molti utenti (la UX non è un aspetto secondario, e non è una questione di moda), una API che è stata deprecata dal produttore e che non viene più aggiornata, una serie di bug visuali fastidiosi per me che sviluppo e per l'utente che deve usare, infine una strada molto incerta soprattutto per nuovi progetti, in quanto non è dato sapere che fine farà quell'interfaccia nelle prossime versioni di Windows, esistendo comunque alternative valide.

    20/04/2024 - grumpy ha scritto:


    il form MDI, se si vuole, circoscrive l'area di lavoro dell'intera applicazione a una porzione dello schermo, evitando interferenze con finestre estranee all'applicazione

    Questo vale per qualsiasi applicazione che ospita banalmente “controlli” al posto di finestre.

    20/04/2024 - grumpy ha scritto:


    Anche con una struttura “a tab” si può ottenere questo risultato, ma la fase di design è più complicata non potendo visualizzare separatamente i singoli tab.

    Prima o poi ci farò un video, ad ogni modo questo design non è così complicato come sembra; inoltre, una volta realizzato, può essere facilmente “componentizzato”, ossia racchiuso in una libreria e riusato in qualsiasi progetto.

    20/04/2024 - grumpy ha scritto:


    nel form MDI di solito è presente una toolbar e/o una barra dei menu da cui si attivano azioni relative all'intera applicazione, mentre una toolbar di una finestra figlia consente azioni solo verso quella finestra

    Questo (e pochi altri) sono senz'altro gli unici vantaggi che a oggi offre l'approccio MDI: è facile e immediato da utilizzare. That's it.
    Dal mio punto di vista, questa immediatezza - sempre al giorno d'oggi intendo - non vale i “mal di pancia” e le limitazioni visuali e funzionali che procurano in seguito, dando per scontato che il progetto non sia banale e che debba avere una sua evoluzione e manutenzione negli anni.

    20/04/2024 - grumpy ha scritto:


    Il possibile problema evidenziato nelle immagini che hai postato mi sembra che si possa evitare facilmente con le proprietà relative ai pulsanti Minimize e Maximize e al tipo di bordo o, al limite, con l'evento Resize.

    Ogni workaround è tale: un escamotage, un aggirare il problema. Ne ho fatti diversi anche io su applicazioni legacy di clienti che a oggi hanno smesso di funzionare. E come sempre non c'è alcuna garanzia per quanto riguarda le versioni future di Windows. Infatti, tutti questi “glitch” che ho mostrato negli screenshot non sono usciti dall'oggi al domani, ma si sono gradualmente presentati release dopo release di Windows, proprio per il fatto che quell'API non ha subito aggiornamenti rispetto al resto (perché Microsoft stessa non la considera più).

    In ogni caso, se proprio devo scrivere comunque codice o fissare delle proprietà in modo specifico, allora preferisco farlo per soluzioni appropriate. :)

    20/04/2024 - grumpy ha scritto:


    Tornando alla domanda iniziale di Zeusmax, nel caso volesse ancora usare l'approccio parent/child, non capisco per che frmPlanner non possa essere anch'esso di tipo child.

    Infatti, secondo me il problema originale è legato al fatto che poi - volendo adottare l'approccio MDI - c'è chi vorrebbe “piegarlo” per funzionare diversamente da contesto a contesto, cosa non possibile (almeno non sempre) perché altrimenti sfumerebbe in toto il vantaggio di utilizzarlo. :)

  • Re: Apertura di un form figlio di form mdi dal login

    20/04/2024 - Zeusmax ha scritto:


    grazie di tutto , ho risolto usando “Toolstrip” 

    Il collegamento logico tra ToolStrip e “gestione dei Form” mi è del tutto sconosciuto. :)

    20/04/2024 - grumpy ha scritto:


    Boh! 

    Su questo concordo al 100%. :D

  • Re: Apertura di un form figlio di form mdi dal login

    19/04/2024 - sihsandrea ha scritto:


    Considerando che l'evoluzione informatica si sta spostando su ultrabook e tablet, l'uso fi un form contenitore di altri n form vale quanto il due di spade con la briscola a denari in una mano a coppe…

    Una precisazione: la contestazione (per usare un termine improprio) verso l'infrastruttura MDI non è nell'idea di avere banalmente “una finestra all'interno di un'altra”, poiché questo è uno scenario che potremmo considerare tipico.

    Quello che causa i reali problemi è l'implementazione specifica dell'interfaccia MDI su Windows, che di fatto - sintetizzando al massimo - è abbandonata a sé stessa e piena di bug. Questo è il problema principale.

    Ad esempio, gli sviluppatori Delphi sono più “fortunati” in questo senso: la libreria VCL di Delphi (simile a Windows Forms nella finalità d'uso) consente di creare da sempre applicazioni MDI, ma nell'ultima versione sono stati fatti degli “improvement” e dei “workaround” generali appositamente progettati per aggirare le problematiche derivanti dalle lacune dell'API di Windows, ad esempio mantenendo per le finestre MDI Child lo stesso stile grafico della Master (che è poi quello di Windows in sé) o applicando gli eventuali temi; grazie poi a un componente dedicato, è possibile trasformare in un clic la “vecchia” interfaccia MDI in una nuova interfaccia Tabbed, uno dei tanti modi in cui Delphi supporta la “compatibilità all'indietro” ovvero ammodernare un'applicazione datata senza modificare una riga di codice (vedi questo video breve per una carrellata veloce).

  • Re: Apertura di un form figlio di form mdi dal login

    Infatti ricorda excel prima dell'uso di tab…

    Per quello potrebbe andare bene ma per un applicativo è scomodo soprattutto con alt+tab frequenti riabituarsi ad affiancare le finestre dento un contenitore con croll…

    Parlo di ultrabook per la limitata area desktop. Passare con alt+tab finestre da 10" ha più senso di una finestra contenitore dove anche le form ridotte ad icona si sovrappongono. Non solo, anche la caption del form ridotto ad icona non è di facile lettura. 

    Che embarcadero lo abbia ripreso (non credo lo abbia mai abbandonato) non significa che sia ergonomico ai nostri tempi. Embarcadero ha a disposizione ancora i controlli per paradox e dbase con tanto di esempi (anche se ho dovuto sudare per paradox su pc 64 bit

  • Re: Apertura di un form figlio di form mdi dal login

    20/04/2024 - sihsandrea ha scritto:


    Parlo di ultrabook per la limitata area desktop.

    Un Ultrabook è semplicemente un notebook leggero, ma è comunque un dispositivo con schermo grande e con un sistema operativo desktop: se usi un'applicazione desktop, non fa molta differenza che sia MDI o meno, poiché comunque la fruirai con un mouse e la visualizzerai su uno schermo di dimensioni medio/grandi (dai 14 pollici in su).

    20/04/2024 - sihsandrea ha scritto:


    Che embarcadero lo abbia ripreso (non credo lo abbia mai abbandonato) non significa che sia ergonomico ai nostri tempi.

    Non è stato mai abbandonato, né è stato ripreso: è stato solamente fornito un percorso che - senza modificare una riga di codice - permette a chi già lo utilizza (e quindi ha clienti abituati a quella “disposizione” delle finestre e al loro comportamento) di continuare a mantenerlo nonostante le problematiche di Windows, aggirandone di fatto i difetti e fornendo una visualizzazione congruente con l'aspetto del sistema operativo; chi invece vuole passare a una visualizzazione più moderna (es. tabbed), con un semplice componente in più sulla finestra principale, può aprire le finestre MDI Child all'interno di tab, visualizzarle correttamente, raccoglierle in un menu, “disporle” alla fine della loro vita, in pratica fare tutto quello che facevano prima, ma con una interfaccia utente più moderna (a schede appunto, come avviene in Chrome, Edge, Firefox, Photoshop e miriadi di altre applicazioni, che sono per l'appunto odierne).

    20/04/2024 - sihsandrea ha scritto:


    Embarcadero ha a disposizione ancora i controlli per paradox e dbase con tanto di esempi (anche se ho dovuto sudare per paradox su pc 64 bit

    Non esistono “controlli per Paradox e dBase”, tutt'al più componenti per l'accesso a questi database, che sono da installare a parte, mentre i controlli “data aware” - quelli che si usano per manipolare i dati dei database visualmente - si collegano a qualunque fonte dati, a prescindere dalla tecnologia di accesso, e sono compatibili anche con le librerie di “data access” più recenti, tipo FireDAC.

    Non mi paiono comunque cose comparabili: in un caso, stiamo parlando di una tecnologia di accesso ai dati che è stata dismessa, che non viene più mantenuta, è dichiarata obsoleta e non viene nemmeno installata salvo scaricarla su richiesta, mentre nell'altro caso stiamo parlando della modernizzazione di un approccio del passato, che viene tutt'ora supportato e migliorato ed è quindi attuale.

    Poi, che lo si usi o meno, questo è un altro discorso, e io non lo userei, ma tutti i miei clienti che lo hanno fatto sino ad oggi e a cui ho detto che facevano male, nel concreto hanno avuto ragione su di me. :)

    Ad ogni modo ne parleremo altrove perché qui si va off-topic, visto che l'autore della discussione ha risolto il problema, anche se non ho capito come ha fatto.

Devi accedere o registrarti per scrivere nel forum
20 risposte