ShellListView ??? [Résolu]

Signaler
Messages postés
1418
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2010
-
Messages postés
11
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
7 février 2008
-
Bonjour,

J'ai un autre problème (toujours avec une ShellListView... il faut croire qu'elles comportent quelques bizarreries ! :shock) )

Quand je lance un raccourci par l'intermédiaire de celle-ci, il y a deux possibilités :
- Soit le raccourci marche correctement et ouvre l'application (par exemple pour une page web, la calculatrice windows...)
- Soit le raccourci ne marche pas... ?-) et rien ne se produit (Bloc-notes, Word, Excel...)

Les raccourcis ne marchant pas sont complêtement valides en dehors du programme !

En fait, j'ai examiné le problème de plus près : Le processus se lance bien (il est présent dans le gestionnaire de tâches), sauf que la fenêtre de l'application ne s'affiche pas....... donc impossible de se servir de l'application !

Si vous avez une explication à ce phénomène, je vous serais reconnaissant....

Merci

@+
Bonne Prog'
Nico

6 réponses

Messages postés
1418
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2010
13
C'est bon j'ai trouvé la solution !!!! 8-)

Il faut mettre AutoNavigate := False et mettre dans l'événement OnDbleClick de la ShellListView :
procedure TForm1.ShellListView1DblClick(Sender: TObject);
begin
with ShellListView1 do
if Assigned(ItemFocused) then
begin
ShellExecute(0,NIL,PChar(SelectedFolder.PathName),NIL,NIL,SW_SHOWNORMAL);
end;
end;


@+
Bonne Prog'
Nico

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient ! :)
Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
14
j'ai le meme probleme lors d'un double-clic, mais pas lors d'un clic droit > action (Lire,Ouvrir etc), là tout se lance nikel... mais sinon idem, le lance ma video.avi, mediaplayer se lance invisible et j'ai le son mais impossible de choper l'image !
rassure toi : le pb doit etre resolu qqpart, je vais checker

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient ! ;)

-------------------------------------------
http://diabloporc.free.fr : mon site refait ! Delphi power !
Messages postés
1418
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2010
13
Effectivement le clic droit>Ouvrir marche mais j'ai désactivé la fonction clic droit (AutoContextMenus := False) pour éviter que les utilisateurs accèdent aux parametres des fichiers....

Merci pour ton aide :)

@+
Bonne Prog'
Nico
Messages postés
2226
Date d'inscription
dimanche 5 octobre 2003
Statut
Modérateur
Dernière intervention
18 novembre 2010
14
superbe rechch ! bon travail :D je garde ça en astuce pour le futur
merci

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient ! ;)

-------------------------------------------
http://diabloporc.free.fr : mon site refait ! Delphi power !
Messages postés
1418
Date d'inscription
samedi 12 juin 2004
Statut
Membre
Dernière intervention
5 juillet 2010
13
En supplément, si on veut que la touche Enter fasse effet aussi :

procedure TForm1.ShellListView1KeyPress(Sender: TObject; var Key: Char);
begin
if key <> #13 then exit;
with ShellListView1 do
if Assigned(ItemFocused) then
begin
ShellExecute(0,NIL,PChar(SelectedFolder.PathName),NIL,NIL,SW_SHOWNORMAL);
end;
end;


Par contre, ce que je voudrais bien, c'est que quand on a sélectionné un dossier, il soit ouvert dans le ShellTreeView associé,... J'ai essayé :
if ExtractFileExt(SelectedFolder.PathName) = '' then // Si pas d'extension, donc si on pointe vers un dossier
ShellTreeView1.Path := SelectedFolder.PathName //Ce dossier est ouvert dans ShellTreeView
else // Si on pointe vers un fichier
ShellExecute(0,NIL,PChar(SelectedFolder.PathName),NIL,NIL,SW_SHOWNORMAL); //On ouvre ce fichier


Pourtant
ShellTreeView1.Path := SelectedFolder.PathName 

ne marche pas...

Seul
ShellTreeView1.Root := SelectedFolder.PathName 

marche...

Je n'ai pas envie de faire changer le root, mais le path sélectionné avec le même root (le bureau en fait)... donc comment faire ?

@+
Bonne Prog'
Nico
Messages postés
11
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
7 février 2008

bonjour a tous

procedure TForm1.FormCreate(Sender: TObject);
var
rep : string;
begin
   rep := ExtractFilePath(Paramstr(0));
        ShellTreeView1.Root := rep;
end;
sa marche pour moi avec shelllistview aussi pour lui dir ou aller au depart

cordialement
alll