Componente ListBox (TlistBox)
Este componente é um componente padrão da caixa de listagem do Windows que exibe uma série de listas nas quais os usuários podem selecionar, ingressar, excluir ou modificar itens.
1. Uso típico de componentes tllistbox
As caixas de listagem são frequentemente usadas nos aplicativos do Windows. A caixa de listagem pode listar vários itens em uma janela rolável para os usuários escolherem. Por exemplo, no IDE de Delphi, ao usar o comando Lista de componentes no menu Exibir, o Delphi lista todos os componentes no VCL. O programa usa principalmente o atributo de itens para controlar vários itens, como o uso de item.strings [] para obter o conteúdo de uma determinada opção e items.add () e items.Delete () Adicionar ou excluir entradas de opções. Especifique ou obtenha a opção atual através da propriedade ItemIndex.
2. Propriedades importantes dos componentes tlistbox
·Columns list box number ·ExtendedSelect This property is used to set whether to allow multiple items to be selected simultaneously using the Shift key and the Ctrl key ·IntegralHeight The height of the list box is always an integer multiple of the height of the item in A caixa de listagem · ItemHeight Esta propriedade é usada para definir a altura de cada item na caixa de listagem · ItemIndex Esta propriedade é usada para definir o número de sequência dos itens selecionados na caixa de listagem · itens Todos os itens na caixa de listagem são acessados por meio de A propriedade de itens · multisselect permite que vários itens sejam selecionados ao mesmo tempo. A caixa de listagem deve ser classificada em ordem alfabética.
(1) Atributos das colunas
O valor padrão dessa propriedade é 0 e a caixa de listagem é exibida em uma única coluna. Se esta propriedade estiver definida como um valor maior que 0, a caixa de listagem preencherá primeiro uma coluna. Se não puder ser totalmente exibido em uma coluna, será exibida na coluna 2, coluna 3 e assim por diante, mas apenas o número de colunas definidas pela propriedade das colunas é exibida na tela no máximo. Se esta propriedade estiver definida como 2, apenas duas colunas serão exibidas na tela.
(2) Propriedade Extendendeselect
Essa propriedade é usada para definir se deve permitir que vários itens sejam selecionados simultaneamente com a tecla Shift e a tecla CTRL, desde que a propriedade MultiSelect seja definida como TRUE. O usuário pressiona e mantém a tecla Shift.
(3) Propriedade integralHeight
Se esta propriedade estiver definida como true e a propriedade Style for definida como iSownerDrawfixed, a altura da caixa de listagem será automaticamente ajustada a um múltiplo inteiro da altura do item na caixa de listagem. Se esta propriedade estiver definida como falsa, o último item na caixa de listagem não poderá ser exibido na íntegra, porque a altura da caixa de listagem não é necessariamente exatamente um múltiplo inteiro da propriedade ItemHeight.
(4) Atributo ItemHeight
Quando a propriedade Style é definida como ISownerFixed (definida pelo usuário), esta propriedade é usada para definir a altura de cada item na caixa de listagem. Se a propriedade IntegrilEight estiver definida como true, a altura de toda a caixa de listagem será ajustada automaticamente com o valor da propriedade ItemHeight. Se a propriedade Style estiver definida como ISSTANDARD ou ISOWNERDRAVARIABLE, a propriedade ItemHeight não terá sentido.
(5) Atributo ItemIndex
Esta propriedade é usada para definir o número de sequência do item selecionado na caixa de listagem. Se a propriedade MultisSelect estiver definida como TRUE e o usuário selecionar vários itens, essa propriedade retornará o número de sequência do item com o foco de entrada. O código de exemplo do programa é o seguinte:
[Delphi] View PlainCopyProcEdureTform1.FormCreate (remetente: TOBJECT); Vari: Integer; BeginListBox1.MultisElect: = false; Button.Caption = 'MoveTotop'; fori: = 1to10dolistbox1.iTems.add ('item'+inttostr (I)) ; end; ProcedureTform1.Button1Click (remetente: TObject);
(6) Atributos de itens
Todos os itens na caixa de listagem são acessados por meio da propriedade Itens.
[Delphi] View PlainCopyvarf: FILE; i: Integer; BELKFORI: = 0TO (FILELISTBOX1.Items.Count-1) DOBEGINTRYIFLEFILELELISTBOX1.SELECEDO [i] thenbeginiFNotFileExists (filleListBox1.Items.Strings [i]) ThenBeginMedgl (fileListBox1.Items. '[i]) thenbeginmessgilg (fileListBox1.Items.' '[i]) então) .Items.strings [i]+'Notfound', mterror, [mBok], 0); continue; end; atribuifile (f, filElistbox1.items.strings [i]); reset (f, l); listbox1.items. Add (inttoSTR (FileSize (f));
(7) Propriedade multisselect
Se esta propriedade estiver definida como TRUE, vários itens poderão ser selecionados simultaneamente. Os usuários podem segurar as teclas CTRL ou Shift, selecionar itens com o mouse ou arrastar e soltar diretamente o mouse para selecionar.
(8) Propriedades classificadas
Esta propriedade é usada para definir se os itens na caixa de listagem devem ser classificados em ordem alfabética. Para caixas de listagem classificadas, os itens adicionados chamando add () ou insert () serão movidos automaticamente para o local apropriado. O código de amostra do programa é o seguinte:
[Delphi] View PlainCopyProcedureTform1.FormCreate (remetente: TObject); Item1 '); listbox1.items.add (' item4 '); end;
(9) Atributos do estilo
Esta propriedade é usada para definir o estilo da caixa de listagem. Ele define os três valores selecionáveis pelo usuário a seguir. • lbstandard: cada item é uma string e cada item tem a mesma altura. • LBOWNERDRAWFIXED: O item não é necessariamente uma string, mas também pode ser uma imagem. O evento OnDrawItem é acionado antes que cada item seja exibido. • LBOWNERDRAVARIABLE: O item não é necessariamente uma string, também pode ser uma imagem e a altura do item pode ser diferente. Dois eventos são acionados antes que cada item seja exibido.
3. Eventos importantes dos componentes tlistbox
· ONDAWITEM Se a propriedade de estilo estiver definida como LBOWNERDRAWFIXED ou LBOWNERDRAVARIABT e os itens na caixa de listagem precisam ser repintados, o evento será acionado. , o evento será acionado
4. Maneiras importantes de componentes tlistbox
O método comumente usado do componente TlistBox em programas é claro, que é a função de excluir todas as opções na caixa de listagem.
Como o item no ListBox exibe cores diferentes de acordo com o conteúdo
1. Altere a propriedade de estilo do ListBox1 para LBOWNERDRAVARIABLE2.
Por exemplo:
[Delphi] View PlainCopyProcedureTform1.ListBox1DrawItem (Controle: Twincontrol; Índice: Inteiro; Rect: Trect; Estado: TownerDrawState); um número ímpar BeginListBox1.Canvas.Brush.Color: = clwindow; listbox1.canvas.textrect (ret, rect.left, rect.top, listbox1.items [index]); endelse // a cor BeginListBoxBox.Canvas quando o índice de itens é um número par. .Color: = clhighlight; listbox1.canvas.textrect (ret, ret.left, ret.top, listbox1.items [index]); end; end;