2012-02-21 6 views

risposta

6

L'opzione gboGroupStyle nella proprietà TButtonGroup.ButtonOptions non ha nulla a che fare con GroupIndex come è noto, ad es. da TSpeedButton.

impostazione dell'opzione gboGroupStyle-True consente di:

  • impostare la proprietà TButtonGroup.ItemIndex, in modo da poter predefinire il pulsante che verrà messo a fuoco come impostazione predefinita, niente di fresco
  • fare clic sui pulsanti con ENTER o SPACE chiavi, che genererà l'evento TGrpButtonItem.OnClick dell'elemento del pulsante (se assegnato), esegue la sua azione o attiva l'evento TButtonGroup.OnButtonClicked

Sono d'accordo sul fatto che il nome sia abbastanza fuorviante, ma è quello che ho trovato nel codice sorgente di Delphi-XE2.

+1

Mi piacerebbe molto arrivare così lontano, ma TLama potrebbe anche ottenere il rappresentante in quanto questa è la risposta più completa. Penso che con gboGroupStyle sia meglio pensare a TButtonGroup come TRadioGroup, in quanto ha un singolo oggetto selezionato. – Alister

3

gboGroupStyle fa funzionare il TButtonGroup come gruppo - ciò significa che un solo pulsante è selezionato in un dato momento. È simile al raggruppamento di più TSpeedButtons con GroupIndex, in cui solo un pulsante all'interno di quel gruppo viene selezionato in qualsiasi momento. Il pulsante attualmente selezionato può essere letto e scritto tramite la proprietà ItemIndex di TButtonGroup. Per visualizzare il pulsante selezionato è possibile implementare un gestore OnBeforeDrawButton o OnDrawButton.

+2

Non penso che questo sia corretto in quanto non esiste un concetto di "down" per un TButtonGroup. Sembra che gboGroupStyle influisca su come funziona la proprietà ItemIndex. – Alister

+0

Sì, il "down" era in realtà inteso come metafora per quanto riguarda il riferimento TSpeedButton. L'idea è di specificare un pulsante selezionato, tuttavia che può essere visualizzato (ad es. In OnBeforeDrawButton). –

2

Dalla mia sperimentazione sembra che venga utilizzato gboGroupStyle, quindi la proprietà ItemIndex può essere impostata su un valore diverso da -1, in modo che TButtonGroup memorizzi l'ultimo pulsante premuto.