Newsgroup: it.comp.lang.delphi
Titolo: Form in Tabsheet

Ho provato ad usare la tecnica di creare dei forms all'interno dei tabsheet 
di un PageControl. Allo scopo di nascondere il bordo del form, uso 
Borderstyle=bsNone, ma ho scoperto che questo ha l'effetto collaterale di 
nascondere, non solo il bordo del form, ma anche il Menu del form stesso.
Vi risulta ? C'è una soluzione ? 
 

 tabsheet di un PageControl.
 
Di quale tecnica parli? Perche` crei dei form?
 
 
-- 
4ndre4

"4ndre4"  ha scritto nel messaggio news:obrfa8$nf7$6...@dont-email.me...

---
E' una tecnica che, ho letto nel web, è usata da chi non vuole adottare l' 
MDI. Praticamente si ospita un Form all'interno di un altro form (in 
unTPanel) oppure in un pageControl per cui, per esempio, io creo due diversi 
form in due pagine diverse. A lato del PageControl ho un pannello verticale 
con dei bottoni che fanno da menu per la creazione alternativa di un form o 
dell'altro o volendo per spostarsi tra l'uno e l'altro.
Al form si da la poprietà BorderStyle bsNone, che però (solo quando il form 
è 'ospitato') oltre a non mostrare il Titlebar, non mostra nemmeno 
l'eventuale MainMenu.
Questo è il poblema a cui chiedevo se si potesse rimediare. 
 


Si, anche a me risulta cosi': il menu' puo' solo andare a livello della finestra principale.
 
Ci sono due alternative:
 
- fare un MERGE del menu della finestra figlia all'interno di quella 
contenitore (in modo simile a quello che avvine con MDI)
 
- provare a usare componenti come toolbar, coolbar, barmanager e compagnia 
cantante.... 
In quel caso puoi mettere una toolbar configurata in modo da fare da menu'
Non so se si riesce con i componenti nativi di delphi, qui al lavoro
usiamo i componenti devexpress e con quelli si puo' fare.
Pero' una volta che abbiamo provato... abbiamo visto che un menu' 
dentro ad un tabsheet esteticamente non ci piaceva... abbiamo adottato la
tecnica del merge sul menu principale :-)
 
ciao
Giacomo
 
 
 
 

 l' MDI.
 
Dove viene citata?
 
PS quota come si deve, per favore. Ti e` stato detto piu` di una volta. 
Continui a rispondere dopo una serie di trattini, facendo si` che i 
newsreader taglino il tuo messaggio quando si cerca di rispondere.
 
-- 
4ndre4

 
 
"4ndre4"  ha scritto nel messaggio news:obu4vq$qpi$2...@dont-email.me...

http://ux.stackexchange.com/questions/13724/alternatives-to-mdi-layout
 
http://pasotech.altervista.org/delphi/articolo32.htm
 
https://www.codeproject.com/questions/142030/mdi-alternative
 
 
Delphi Developer's Guide (1st edition 1995), Chapter 21 'Hard-Core
Windows' describes Subclassing forms.  I used this technique in a
large application I wrote and it worked well for me.  Basically, you
have a main form with a large TPanel area.  You then create several
child forms, and using the technique below, show the child forms on
the Tpanel of the Main form.  The example creates all forms at
startup, but you could modify to create and destroy as needed.
 
PS: Come devo fare a quotare? Mi metto al di sotto del messaggio ricevuto e 
scrivo  il mio. E' sbagliato?
 
 

"Giacomo Degli Esposti"  ha scritto nel messaggio 
news:de7beb28-7cdb-4228...@googlegroups.com...

L'idea del merge sul menu principale mi era venuta, ma avrei voluto 
mantenere i forms anche indipendenti. Comunque, visto che non si tratta di 
errore da parte mia e che si tratta di un disegno e non di un errore, dovrò 
decidermi a fare qualcosa di quello che suggerisci.
 

 ricevuto e scrivo  il mio. E' sbagliato?
 
Non usare i doppi trattini. Sono una convenzione per le firme. I 
newsreader cancellano automaticamente ogni contenuto oltre quelli.
 
-- 
4ndre4

 
 
"4ndre4"  ha scritto nel messaggio news:oc11ei$pht$1...@dont-email.me...

Grazie dei consigli e in effetti i frames sarebbero una soluzione, ma 
paradossalmente più laboriosa nel mio caso, perchè i due o tre form che 
pensavo di includere nel PageControl li ho già funzionanti per conto loro. 
Mi sono però reso conto che il loro uso, spesso contemporaneo e in parallelo 
con il main dell'applicazione a cui si può sempre accedere per il menu, 
ingombrano il desktop notevolmente con tutte quelle finestre aperte e 
l'utente non ci capisce più niente. Aggiungi che, per ragioni che mi sono 
sconosciute, a volte alcune finestre rimangono nascoste sotto altre senza 
possibilità di recupero...
Ecco perchè ho cercato una soluzione alternativa, che funziona con veramente 
poche righe di codice. L'unico inconveniente che ho trovato, almeno finora, 
è quello del menu che sparisce con il borderstyle bsnone.