Ver Mensaje Individual
  #3  
Antiguo 29-02-2008
keyboy keyboy is offline
Miembro
 
Registrado: oct 2004
Posts: 367
Reputación: 22
keyboy Va por buen camino
Pienso, como dec, que lo mejor sería filtrar el ShellTreeView, aunque esto no es tan directo como ajustar una propiedad Filter. Debes usar el evento OnAdd del control:

Código Delphi [-]
procedure TForm1.ShellTreeView1AddFolder(
  Sender: TObject;
  AFolder: TShellFolder; var CanAdd: Boolean);
begin
  if not AFolder.IsFolder and (fpFileSystem in AFolder.Properties) then
    CanAdd := LowerCase(ExtractFileExt(AFolder.DisplayName)) = '.jpg';
end;

Claro que el filtro lo haces por la extensión del archivo, cosa que también puedes hacer para "determinar" si es o no un archivo de imagen:

Código Delphi [-]
with ShellTreeView1.SelectedFolder do
  if LowerCase(ExtractFileExt(DisplayName)) = '.jpg' then
    Image1.Picture.LoadFromFile(DisplayName);

Pero, que un archivo tenga una extensión como jpg, png, gif, etc., no necesariamente significa que sea una imagen, y no veo forma sencilla de determinarlo, pero en esos casos extremos, no pasa nada si dejas que se muestre la excepción.

Bye
Responder Con Cita