Ajuda - Busca - Membros - Calendário
Versão Completa: Shelllistview(resolvido) Vclskin(interessante)
Fórum Script Brasil > Programação & Desenvolvimento > Delphi, Kylix
schaukoski
Olá.
Estou com problemas no meu ShellListView...

Gostaria de saber como adicionar um Filtro para, aparecerem apenas imagems.

Também gostaria de saber, como faço para pegar a imagem do arquivo selecionado, e jogala em um outro Timage..

e também, adicionar um campo (igual ao openpicturedialog), para mostrar a imagem quando selecionada em um timage

Obrigado..

* Eu usava um componente OpenPictureDialog, tudo funcionava normalmente, até eu descobrir que quando meu VCLskin (componente de skin), estava Ativo, a "Paisagem" do programa mudava tal, mas ao clicar em ABRIR da OpenPictureDialog, dá erro, por isso estou fazeno desta forma, se algem souber como arrumar isso também resolveria Muito!


Valeu!!
________________________________________________________________________________
______________

RESOLVIDO!!!

Galera Muito interessante para quem tem problemas com o VCLskin

Algumas versões dele, tem BUGs, que da erro em qualquer tipo de OpenDialog, Picture Dialog, etc... e apos umas 6 horas de aberto, ele também da erro ao fechar qualquer form...

Depois de muito trabalho procurando como resolver isso, descobri uma forma totalemente eficiente, ao invés de deixar apenas o formonde tem a OpenDialog, com o Skin desabilitado ( o que não é muito interessante essa opção , porque qualquer chamada de form após esta modificação, todos os outros forms ficam sem Skin ).


Valeu galera, Muito útil pra quem tiver vclskin com problema... até!!!!!

Valeu a ajuda ai Churc

Abraços
Churc
opa

ShellListview é muito pesado pra você nesse sentido, ele cria várias
coisas desnecessárias, como ishellfolder, ishellenumeration, etc...

ShellListview nada mais é que uma ListView com suporte a Shell
então se eu fosse você eu faria o seguinte, use um listview, enumere
as imagens da pasta que deseja em uma stringlist por exemplo e da um
loop nessa stringlist adicionando os items na listview, voce pode usar o
icone que desejar ou puxar o original, vai ficar muito mais leve e funcional...

Depois pra fazer aparecer num TImage é só usar os eventos do ListView
do tipo onItemChange não me recordo direito, estou sem o Delphi aqui,
e nesse evento você da um LoadFromFile no TImage puxando o caminho
das fotos mais o nome da foto, ou fazer coisas do tipo, armazenar na tag
do Item um Type com as informações que precisar...

Se não tiver idéia de como fazer eu te posto um exemplo, só não fiz agora
porque estou sem o Delphi aqui...

abraço
Churc
Opa

De qualquer forma fiz um exemplo, está bem simples mas acho que da pra você
entender...

Download

Senha: scriptbrasil

abraço
schaukoski
Olá Churc,
Eu vi seu exemplo, entendi, mas o problema é o seguinte.

Eu não tenho um diretório específico de imagens , nem as imagens, o usuário vai selecionar do computador dele, qualquer imagem que ele queira. Entende?

O que eu precisaria é fazer um OpenPictureDialog Manualmente, só que pouca coisa mais simples.

OU Talvez solucionar, o porque desse conflito com meu VCLskin, já que esse OPENPICTUREDIALOG , é uim componente que já vem com o delphi, ...

E, não é possível colocar um Filter no ShellListView?, eu iria precisar dele....

Também tenho dúvidas, de como capturar a imagem que eles selecionou do arquivo, e jogar para uma var.

ÁAA Inclusive eu descobri, que se eu marcar no OpenPictureDialog, a Opcão OLDSTYLEDIALOG = True, o Problema desaparece....
e quando esta marcado como FALSE, ele abre o form, mas quando voce da abrir, cancelar, ou fechar, n hora que da o close da Openpicturedialog, que da um erro de access violation 00000000 .....

O VCLskin então deve ser incompatível com esse novo formato de openpicturedialog do delphi7, será que tem alguma forma de concertar isso?


Acho que não né... bom... é isso
Obrigado! Té-mais
Esta é uma versão simplificada de nosso conteúdo principal. Para ver a versão completa com maiores informações, formatação e imagens, por favor clique aqui.
Invision Power Board © 2001-2012 Invision Power Services, Inc.