Olá galera, nesta Quick Tips, irei mostra como podemos adicionar e remover objetos em um ListView. Nesta parte vamos montar o formulário com o ListView e 3 LabeledEdit, além de 3 Buttons para manipulação das ações.
Vamos criar um formulário e salvar o mesmo uFrmCliente.pas, nele vamos adicionar:
1 – ListView ( LstVwCliente )
3 – LabeledEdit ( EdtCodigo, EdtDescricao, EdtSexo )
1 – ToolBar1 (ToolBar1 )
3 – TToolButton ( BtnGravar, BtnLer, BtnDeletar )
1 – ImageList ( 3 Imagens a sua escolha )
Configurando o ListView :
· ViewStyle = vsReport;
· SortType = stBoth;
· RowSelect = True;
· Columns = Adicione 2 colunas ( Código e Descrição. Sexo não irá aparecer no LstVwCliente, porém veremos como recuperar seu conteúdo mesmo não aparecendo no LstVwCliente )
Veja como ficou o formulário:

Precisamos dar Uses em uCliente dentro do nosso formulário FrmCliente:
unit uFrmCliente;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, ExtCtrls, ToolWin, ImgList, uCliente;
.
.
.
Neste momento vamos implementar o BtnGravar:
procedure TFrmCliente.BtnGravarClick(Sender: TObject);
Var
I : Integer;
Item : TListItem;
C : TCliente;
begin
C := TCliente.Create;
C.Codigo := EdtCodigo.Text;
C.Descricao := EdtDescricao.Text;
C.Sexo := EdtSexo.Text;
Item := LstVwCliente.Items.Add;
Item.Caption := C.Codigo;
Item.SubItems.Add ( C.Descricao );
Item.Data := C;
EdtCodigo.Clear;
EdtDescricao.Clear;
EdtSexo.Clear;
end;
Neste momento vamos implementar o BtnLer:
procedure TFrmCliente.BtnLerClick(Sender: TObject);
Var
C: TCliente;
begin
C := TCliente(LstVwCliente.ItemFocused.Data);
EdtCodigo.Text := C.Codigo;
EdtDescricao.Text := C.Descricao;
EdtSexo.Text := C.Sexo;
end;
Neste momento vamos implementar o BtnDeletar:
procedure TFrmCliente.BtnDeletarClick(Sender: TObject);
begin
if MessageDlg('Deseja Excluir o Registro?', mtconfirmation, [mbYes, mbNo], 0) =
mrYes then
begin
LstVwCliente.ItemFocused.Data := Nil;
LstVwCliente.DeleteSelected;
end;
end;
Como vocês podem ver é bem simples adicionar um objeto e receuperar o mesmo em um ListView.
Fico por aqui ate à próxima Quick Tips. Baixe o exemplo completo neste post.
Um abraço
Wesley Y
wyamazack@lithic.com.br