2010-02-10 14 views
9

Sto utilizzando il controllo TcheckListBox e vorrei utilizzare una seconda colonna su questo, ma oltre le colonne e le proprietà di intestazione, non ho trovato alcuna fonte sui inserendo i contenuti più colonne ...Come utilizzare più colonne su TCheckListBox?

Si può sembra una domanda noobie, ma l'aiuto di Delphi non ha alcun contenuto su questo, e le mie ricerche (su Google e SO) hanno portato molta spazzatura ...

Ho solo bisogno di un esempio.

+2

@Fabricio, l'TChecklistbox Basta efficacemente una colonna di dati, la proprietà colonne è appena usata per avvolgere gli elementi in un'altra colonna. – RRUZ

+0

Seguirò il percorso Listview che ulrichb ha indicato. –

risposta

20

Questo non è possibile utilizzando un TCheckListBox.

Ma è possibile utilizzare uno TListView.

Impostare la proprietà ViewStyle su vsReport e Checkboxes su True.


Per creare le colonne e aggiungere gli elementi:

procedure TFormMain.Button1Click(Sender: TObject); 
var 
    Item1, Item2: TListItem; 
begin 
    ListView1.Columns.Add.Caption := 'aa'; 
    ListView1.Columns.Add.Caption := 'bb'; 

    Item1 := ListView1.Items.Add; 
    Item1.Caption := 'item1'; 
    Item1.SubItems.Add('subitem1'); 

    Item2 := ListView1.Items.Add; 
    Item2.Caption := 'item2'; 
    Item2.SubItems.Add('subitem2'); 
    Item2.Checked := True; 
end; 


assomiglia:

list view with checkboxes http://img638.imageshack.us/img638/4681/clipboard01y.png

+0

Hmmm ... È un'idea interessante. Lo esplorerò domani. –

8

potrei sbagliarmi, ma ho pensato che le colonne erano per il confezionamento, piuttosto che per scopi di formattazione.

ad esempio,

Impostare il numero di colonne da 2 Aggiungi 3 o 4 elementi Ridimensionare la casella in verticale e vedrete gli elementi scorrono per riempire le colonne

+1

+1, @Mark non hai torto. ;) – RRUZ

+0

Sì ma si avvolge comunque anche se non lo si desidera. Lo ridimensiono verticalmente e invece di ottenere una barra di scorrimento verticale che avrebbe senso ottengo una stupida barra di scorrimento orizzontale anche se le colonne sono impostate su 1. Un componente potenzialmente utile gettato nel cestino a causa del cattivo design. –