ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

[RESOLVIDO]tlpListview

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
DiogoDF83
Novato
Novato


Registrado: Sexta-Feira, 19 de Novembro de 2021
Mensagens: 20

MensagemEnviada: Sex Dez 10, 2021 5:46 pm    Assunto: [RESOLVIDO]tlpListview Responder com Citação

Boa tarde pessoal
Estou trabalhando com um tlpListview.
Porém estou querendo inserir em um novo campo,
tipo, campo Informação, colocar um ícone ou imagem de um envelope.

código | nome | Idade | Informações
1 ...... Aluno...... 16 .......... Exclamation <- aqui vai um icone ou imagem de um envelope, que ao clicar abre um novo form e insere Informações.

não consegui encontrar nenhum material sobre isso.

Se alguém tiver eu agradeço.

Abraço


Editado pela última vez por DiogoDF83 em Qui Dez 23, 2021 4:41 pm, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
natanbh1
Colaborador
Colaborador


Registrado: Terça-Feira, 15 de Março de 2011
Mensagens: 3093
Localização: Belo Horizonte - MG

MensagemEnviada: Qui Dez 16, 2021 5:57 pm    Assunto: Responder com Citação

Adicione a imagem em um componente ImageList.

No listview você seta o ImageList na propriedade SmallImages.

E ao adicionar o item use a propriedade SubItemImages para setar o índice da imagem no Listview.

Veja um exemplo:

Código:
var
  Item: TListItem;
begin
  ListView1.SmallImages := ImageList1;
  ListView1.ViewStyle := vsReport;

  with Item do
  begin
    Item := ListView1.Items.Add;
    Caption := '1';  // 1º coluna
    SubItems.Add('Aluno');  // 2º coluna
    SubItems.Add('16');  // 3º coluna
    SubItems.Add(''); // 4º coluna
    SubItemImages[2] := 0; // atribui primeira imagem do ImageList1 na coluna 4 do Listview
  end;
end;

_________________
''A persistência é o caminho para o êxito.''
Charlie Chaplin
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
DiogoDF83
Novato
Novato


Registrado: Sexta-Feira, 19 de Novembro de 2021
Mensagens: 20

MensagemEnviada: Qui Dez 23, 2021 9:23 am    Assunto: cooredenadas do mouse Responder com Citação

Blz. entendi. Mas surgiu um novo problema.
Eu preciso agora ao clicar o mouse dentro do listview identifique qual coluna q eu cliquei

Código:

var
  pt : TPoint;
  cel : TListItem;
begin
cel := ListaCartoes.Selected;
pt := ListaCartoes.ClientToScreen(cel.Position);
if ListaCartoes.Columns.Items[8].Caption = 'Observação Coleta' then
...


no IF quero testar se a coluna[]. caption é a coluna que cliquei
eu preciso de uma coordenada que identifique isso

Obrigado!
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
natanbh1
Colaborador
Colaborador


Registrado: Terça-Feira, 15 de Março de 2011
Mensagens: 3093
Localização: Belo Horizonte - MG

MensagemEnviada: Qui Dez 23, 2021 3:41 pm    Assunto: Responder com Citação

Veja se o código abaixo ajuda:

Adicione CommCtrl na uses do form:

Código:
var
  pt: TPoint;
  Item: TListItem;
  hittestinfo: TLVHitTestInfo;
  indice: Integer;
begin
  indice:= -1;
  pt := ListaCartoes.ScreenToClient(mouse.cursorpos);
  Item := ListaCartoes.GetItemAt(pt.X, pt.Y);

  FillChar(hittestinfo, sizeof(hittestinfo), 0);
  hittestinfo.pt := pt;

  If ListaCartoes.Perform(LVM_SUBITEMHITTEST, 0, lParam(@hittestinfo)) <> -1 then
    indice := hittestinfo.iSubItem;

  if indice > -1 then
  begin
    ShowMessage('Indice coluna clicada :' + IntToStr(indice));
    ShowMessage('Titulo coluna clicada :' +ListaCartoes.Columns.Items[indice].Caption);
  end
  else
    Showmessage('Não foi possível identificar a coluna clicada.')
end;

_________________
''A persistência é o caminho para o êxito.''
Charlie Chaplin
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
DiogoDF83
Novato
Novato


Registrado: Sexta-Feira, 19 de Novembro de 2021
Mensagens: 20

MensagemEnviada: Qui Dez 23, 2021 4:38 pm    Assunto: Responder com Citação

Deu certinho.

Muito Obrigado!

Abraço
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB