Autore Topic: Componente hsplit  (Letto 1518 volte)

Offline Lux

  • Maestro Gambero
  • ****
  • Post: 417
    • Mostra profilo
Componente hsplit
« il: 23 Settembre 2008, 15:57:39 »
Non riesco ad utilizzare il componente hsplit e vsplit e non trovo nessuna guida che spieghi come utilizzarli...un aiutino?
ciao.

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Componente hsplit
« Risposta #1 il: 23 Settembre 2008, 21:22:35 »
Ora purtroppo non ho tempo per scriverti due righe di codice, ma tieni presente che HSplit è un contenitore, e il comportamento di base è similare agli altri contenitori. La caratteristica che però lo contraddistingue, è il fatto di poter gestire visivamente gli oggetti che contiene come, ad esempio, la finestra principale dell'ide di gambas, dove a sinistra è presente l'elenco degli oggetti del progetto, a destra l'editor. Anche se poi in gambas è stato in effetti usato un'altro oggetto similare, lo scopo è quello di poter gestire le dimensioni dei due pannelli a piacimento; facciamo un esempio:

1) crei una Form;
2) inserisci l'oggetto VSplit sulla Form;
3) inserisci un oggetto Panel all'interno dell'oggetto VSplit, e modifichi la caratteristica Border, in modo che sia visibile, quindi lo sposti nella zona sinistra di VSplit, dimensionandolo in modo da lasciare spazio per il seguito;
4) inserisci un Button all'interno di quest'ultimo pannello, in modo che visualizzi qualcosa di concreto;
5) inserisci un secondo pannello Panel all'interno dell'oggetto VSplit, e modifichi anche a lui la caratteristica Border, come per il primo; quindi lo sposti nella zona destra di VSplit, dimensionando anch'esso in modo da vedere tutti e due pannelli distintamente;
6) inserisci in quest'ultimo panello un'altro oggetto grafico, in modo che si possa vedere qualcosa
7) Esegui la form.

Se hai fatto tutto bene, dovresti poter vedere i due pannelli (è anche probabile che uno dei due sia nascosto, ma non preoccuparti.
VSplit mostra ora una barra (verticale per VSplit, orizzontale per HSplit, o viceversa...), cliccando con il mouse su questa barra, e trascinandola nella form, vedrai che i due Panel che hai creato vengono ridimensionati e visualizzati rispettivamente a destra e a sinistra. Se il ridimensionamento non funziona, basta modificare opportunamente le proprietà Expand=TRUE dei due pannelli.

Prova!

Offline Lux

  • Maestro Gambero
  • ****
  • Post: 417
    • Mostra profilo
Re: Componente hsplit
« Risposta #2 il: 23 Settembre 2008, 21:46:04 »
Ok, grazie mille ci sono riuscito.
giusto perchè hai citato il vpanel di gambas, vorrei chiederti una cosa, in gambas, se ho ben capito vi è un vpanel e poi vi è un side panell che quando "aperto" è come se spingesse l'altro pannello che ha accanto.
come posso realizzare la stessa cosa?

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Componente hsplit
« Risposta #3 il: 24 Settembre 2008, 09:42:11 »
Non l'ho usato perchè a me personalmente non piace, ad ogni modo funziona un pò come VSplit, solo che può contenere solo un'area per gli oggetti. La sua particolarità è proprio quella di nascondere il suo contenuto quando si vuole, lasciando lo spazio al resto della form.
Se vedi l'ide di gambas, usa questo oggetto a piene mani, come ad esempio: pannelo progetto (per intenderci quello con la lista degli oggetti del progetto), pannello proprietà, il toolbox. Come puoi notare, vengono aperti automaticamente solo quando necessario, oppure se lo vuoi tu volutamente; quando non servono, si clicca sul bordo e si nascondono, lasciando tutto lo spazio agli altri pannelli.

Ad ogni modo, il modo migliore per vederlo, è provare ad inserirlo in una form di prova, in modo similare a quanto ti ho descritto per la VSplit.

Offline Lux

  • Maestro Gambero
  • ****
  • Post: 417
    • Mostra profilo
Re: Componente hsplit
« Risposta #4 il: 24 Settembre 2008, 21:28:04 »
Io ho provato in questo modo: ho inserito un pannello e all'interno di questo vi ho inserito sia un sidepanel che una picturebox ma quando "apro" il sidepanel questo si posizione al di sopra della picturebox che non viene ridimensionata.
Un altra domanda, per chè la barra dei menù è l'unico oggetto a cui non posso cambiare il colore di background? Insomma mi ritrovo il mio form nero e il menù di colore grigio!!(quello di default) come posso cambiarlo?
Ciao e grazie mille.

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Componente hsplit
« Risposta #5 il: 24 Settembre 2008, 22:44:24 »
Ti sei assicurato che la picturebox sia posizionata al di sopra degli altri elementi?

Se clicchi sul componente col tasto destro puoi decidere se posizionarlo sul fondo o in primo piano....

Offline Lux

  • Maestro Gambero
  • ****
  • Post: 417
    • Mostra profilo
Re: Componente hsplit
« Risposta #6 il: 24 Settembre 2008, 22:50:03 »
Si, ma questa non viene ridimensionata (al di là del fatto che questa sia posizionata sopra o sotto)

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Componente hsplit
« Risposta #7 il: 24 Settembre 2008, 22:54:58 »
Assicuratio che Exand della picturebox sia impostato su TRUE...

Offline Lux

  • Maestro Gambero
  • ****
  • Post: 417
    • Mostra profilo
Re: Componente hsplit
« Risposta #8 il: 26 Novembre 2008, 16:30:26 »
Raga allora io il sidepannel non riesco a farlo funzionare come vorrei. Cerco di spiegarmi meglio: ho inserito in una form un hsplit, all'interno ho inserito un sidepannel(sulla sinistra) e un panel(ovviamente sulla destra) ora riesco perfettamente a ridimensionare i due oggetti nell'hsplit (praticamente tra il sidepanel ed il panel vi è una barra che muovendola ridimensiona  due pannelli perfettamente) ora il problema viene quì, se chiudo il sidepanel, il panel non occupa tutto lo spazio del forma ma resta nella sua dimensione iniziale...
Un aiutino?
PS: Ho impostato tutte le proprietà dei pannelli in expand=true

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Componente hsplit
« Risposta #9 il: 27 Novembre 2008, 15:37:19 »
No, credo che l'oggetto manchi delle opportune funzionalità, data la sua particolarità.

Credo ti convenga mettere mano al codice, condizionando le sue dimensioni tramite gli eventi del contenitore.

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Componente hsplit
« Risposta #10 il: 28 Novembre 2008, 15:37:21 »
Potresti dire al sidepanel che panel deve assumere le dimensioni di tutto l'hsplit quando viene chiuso....non so se sono stato chiaro...

Offline Lux

  • Maestro Gambero
  • ****
  • Post: 417
    • Mostra profilo
Re: Componente hsplit
« Risposta #11 il: 28 Novembre 2008, 18:50:15 »
Si l'avevo pensato anch'io ma quando l'ho fatto mi sono ritrovato questo inconveniente: il pannello aumentava di dimensione, la dimensione cresce sempre andando verso destra, quindi gli dicevo anche di posizionarsi (usando questo codice: Panel1.x = 10) più verso sinistra in modo da non lasciare spazio vuoto tra il sidepanel ed il panel, ma poi mi ritrovavo la barra che ridimensiona i due lati dell' HSplit in mezzo al Panel. Sto quindi tentando di fargli capire che la parte destra del HSplit deve anch'essa ridimensionarsi...ma non ci sono ancora riuscito....
Comunque grazie mille!