Newsgroup: it.comp.lang.delphi
Titolo: Gestione docking in TPageControl e visualizzazione bottoni di chiusura e altro

Ciao a tutti,
premessoo che il docking non l'ho mai utilizzato, vorrei utilizzarlo per la gestione delle form. In pratica, cliccando su alcuni bottoni, vorrei aprire le relative form e visualizzarle in un TPageControl ottenendo un risultato simile a quello utilizzato nel rad (per intenderci la parte centrale che contiene codice e design) dove in alto è presente l'elenco delle tab dei documenti (nel mio caso le form) aperti e un bottone a lato che ne permette la chiusura ed eventualmente un altro che apre un menu a tendina per ulteriori azioni. Non so come sia gestito il tutto e come potrei fare, qualcuno può darmi qualche indicazione da cui partire? Per ora sono riuscito a caricare solo le form nel TPageControl ma non riesco a creare il bottone che ne permette la chiusura a seconda della tab selezionata. L'unico sistema che sono in grado di realizzare è l'inserimento del bottone di chiusura all'interno di ogni singola form ma non è l'effetto che cerco.
 
Grazie

 gestione delle form. 
 
xche?
A parte cio', il tuo problema quindi è: come creo dei pulsanti nella linguetta del tab"?
 
A.
 
 


Prova le JVCL con una JvTabBar associata ad una JvPageList.
 
-- 
@WarpTen10

Perché fino a ieri ho usato i frame ma non sono presenti in FM per cui vorrei realizzare un nuovo progetto in VCL in modo che domani possa fare il porting su FM con meno rogne possibili. Vedo 3 strade:
- gestione MDI (mi sembra una concezione troppo vecchia e non mi piace come soluzione);
- gestione form in showmodal (mi sembra un po' limitativo nella gestione di form relazionate tra loro o per passare da una form all'altra dato che si è obbligati a chiudere quella principale);
- gestione docking delle form (caricandole in un TPageControl ho la possibilità di saltare da una maschera all'altra in modo veloce senza restrizioni visto che vengono tutte caricate nelle tab).
Questo è quello che mi ha portato su questa strada ma sono disponibile a valutare altri consigli.
 
Tornando ontopic, quello che vorrei in realtà è creare alcuni bottoni all'altezza delle tab che possano gestire la chiusura o altro delle tab stesse in base a quella attiva (quindi un bottone di chiusura unico per tutte le tab e non un bottone per ciascuna). L'esempio del RAD comprende il bottone di chiusura relativo alla unit attiva e un bottone contrassegnato da una "V" che apre una tendina per selezionare una unit aperta. Se proprio il gioco non vale la candela allora posso optare per un bottone per ogni tab come da tuo post.
 
Grazie per eventuali consigli e aiuti.

Grazie ma vorrei evitare librerie di terze parti per non correre rischi di piena compatibilità in futuro.

 Tornando ontopic, quello che vorrei in realtà è creare alcuni bottoni 
 
Mi dispiace ma mo su 2 piedi non ho idea su questa cosa...
 
A.

 [...] vorrei realizzare un nuovo progetto in VCL in modo che domani possa fare il porting su FM con meno rogne possibili. [...]
 
A meno che tu non stia parlando di "business logic", credo che il primo problema si ponga in questo obiettivo: si tratta di librerie con principi di funzionamento sensibilmente differenti, per cui - sebbene vi siano controlli molto simili fra loro - non esiste (o non è facile da individuare) un percorso di "porting" dell'interfaccia che non ne preveda una ridefinizione o una riscrittura (cambia il sistema delle coordinate, il sistema di "parenting" dei controlli, il disegno dei controlli, ecc.).
 
Anche portare una interfaccia realizzata con la VCL direttamente sotto FireMonkey credo non porti molti vantaggi.
 
Comunque sia, a meno di non usare componenti di terze parti (es. TMS, 
http://www.tmssoftware.com/site/tmsfmxpack.asp
) già "FMX ready" o partire direttamente da FireMonkey, senz'altro una parte della logica custom implementata deve essere riscritta o riadattata per funzionare nel nuovo sistema.
 
Sicuramente, l'innesto e la composizione di controlli è più facile in FireMonkey (perché è fatta apposta), anche se ci sono tutta una serie di altre valutazioni da fare in proposito.
 
Ciao,
  Marco.
 
-- 
MARCO BREVEGLIERI 
#Home: 
http://www.marco.breveglieri.name
 
#Blog: 
http://www.compilaquindiva.net
 

 Perché fino a ieri ho usato i frame ma non sono presenti in FM per cui vorrei realizzare un nuovo progetto in VCL in modo che domani possa fare il porting su FM con meno rogne possibili. Vedo 3 strade: [...]
 
Nella tua ricerca di componenti di terze parti, nell'ottica di migrare l'applicazione a FMX, verifica la compatibilità con il tool più noto per la conversione di progetti da VCL a FMX: *Mida* (
http://www.midaconverter.com
).


 FM non ha i frame?????
 
Con la possibilità di definire gli stili per i controlli visuali, non sono quasi necessari.


 non sono quasi necessari.
 
..quasi...uhm... La butto li...
 
Ambito vcl: ho un frame che riutilizzo in 12 diversi contesti.
Cioe', lo aggiungo a runtime in altri frame o in alcuni form.
 
Lo scopo è ovvio: riutilizzo.
Quel particolare frame permette di selezionare un elemento da una tabella.
Devo solo crearlo, assegnarli un parent, settare 3 property e lui lavora.
Okkio: E' un caso REALE!
Io ho una decina di classi frame che sono poi utilizzate da altri frame e da una 15 di form.
Per ovvi motivi i frame non sono stati aggiunti a designtime.
Vengono aggiunti a runtime.
 
Mo su 2 piedi non riesco ad immaginare come si realizza una cosa del genere senza frame...
Pero' il presupposto dato per scontato è che usando FM lavoro come se usassi la VCL, cosa che potrebbe non essere vera... Ok..! Generalizzo:
 
1) ha senso in FM avere un "aggregato" di controlli visuali pragonabile ad un frame VCL che potrebbe essere utilizzato in n contesti diversi?
 
2) Se si, in assenza dei frame, come la fai questa cosa?
Ovviamente (ma non per tutti) non chiedo un implementazione ma una INDICAZIONE sul cosa dovrei guardare.
 
A.
