Newsgroup: it.comp.lang.delphi
Titolo: GridButton

 Salve a tutti, mi scuso per la richiesta un po' insolita
La mia applicazione ha 142 bottoni di controllo su una DBGrid collegata
a una tabella che cambia in continuazione.
Sulla base di quanto avevo intenzione di realizzare, vorrei sapere se è 
possibile inserire una StringGrid all'interno di un bottone in modo da 
ottenete un GridButton. Ho visto questo componente molto bello in un 
programma americano che usa mio cognato in ufficio.
Praticamente è possibile effettuare il click su una sola parte del 
bottone in modo da scegliere una particolare funzione a seconda dei casi 
in modo che il resto del bottone rimanga inalterato.
Vi ringrazio per un eventuale aiutino.
Alberto
--- posted by geoForum on 
http://www.delphiedintorni.it

Non ho capito bene, ma hai provato a vedere se TButtonGroup puņ fare al tuo 
caso?
(pallete "Additional", non so a partire da quale versione di D, io la trovo 
nel turbo explorer)
Gianni 

Devo praticamente realizzare un organo con 15 ottave circa che legge un 
pentagramma in una tabella collegata a una DBGrid.
Non conoscevo il componente, ci do un'occhiata.
Grazie


 pentagramma in una tabella collegata a una DBGrid.
Credo che utilizzare centinaia di bottoni sia la cosa meno modellante
possibile... perche' ti devi scrivere centinaia di event handler onclick,
ecc..
Secondo me la strada giusta sarebbe di derivare un tframe come base per il
singolo tasto, con una property che ne specializzi la nota da eseguire, ed
un metodo suona() che emetta la nota corrispondente.
A questo punto nell'on create della tua classe ttasto ti fai passare un
parametro che indichi la nota che vuoi gestire, ad esempio ladiesis7
(eventualmente creati una unit dove dichiare tutte le note come const).
Nell'oncreate ti memorizzi nella tua variabile privata FNota la nota da
emettere poi nel metodo suona(). Passagli al metodo suona anche la durata
della nota stessa.
Questa e' la base per modellare il comportamente di un tasto dell'organo,
puoi poi aggiungere tante altre proprietà sempre alla classe base, il tuo
tframe, che indichino ad esempio il timbro (flauti,trombre..) il registro,
ecc..
Ciao
-- 
Morde

Integro (come alternativa) anch'io la mia proposta.
Il componente che ho indicato è come il Tradiogroup, solo che usa bottoni al 
posto di radiobutton. La definizione dei bottoni ed il layout si impostano 
facilmente, con qualche limitazione grafica dovuta (ad es i bottoni sono 
tutti uguali, ma il componente è fatto proprio per certi scopi).
Quindi i bottoni sono elencati in una lista ed esiste un solo evento 
OnButtonClicked per gestire il click di un qualsiasi bottone, dove 
ovviamente è specificato l'ItemIndex del bottone premuto.
A questo punto, se Alberto nel create prepara un vettore VN di note, 
nell'evento citato la nota "premuta" è semplicemente VN[ index ].
Altre proprietà eventuali potrebbero essere gestite allo stesso modo.
Se poi servono comportamenti più elaborati, sono d'accordo con Morde sul 
fatto che prob. ti convenga preparare un oggettino o un frame ad hoc.
Ciao. Gianni 

Grazie, ci do un'occhiata.
Effettivamente si andava abbastanza nel paradossale, mai utilizzato cosě 
tanti tasti in vita mia.
Ciao
