ShellListView ??? [Résolu]

Messages postés
1529
Date d'inscription
samedi 12 juin 2004
Dernière intervention
5 juillet 2010
- - Dernière réponse : cs_alll
Messages postés
11
Date d'inscription
mardi 9 novembre 2004
Dernière intervention
7 février 2008
- 9 févr. 2008 à 15:10
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
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
1529
Date d'inscription
samedi 12 juin 2004
Dernière intervention
5 juillet 2010
3
Merci
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 ! :)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de ni69
Messages postés
2354
Date d'inscription
dimanche 5 octobre 2003
Dernière intervention
18 novembre 2010
0
Merci
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 !
Commenter la réponse de JulioDelphi
Messages postés
1529
Date d'inscription
samedi 12 juin 2004
Dernière intervention
5 juillet 2010
0
Merci
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
Commenter la réponse de ni69
Messages postés
2354
Date d'inscription
dimanche 5 octobre 2003
Dernière intervention
18 novembre 2010
0
Merci
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 !
Commenter la réponse de JulioDelphi
Messages postés
1529
Date d'inscription
samedi 12 juin 2004
Dernière intervention
5 juillet 2010
0
Merci
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
Commenter la réponse de ni69
Messages postés
11
Date d'inscription
mardi 9 novembre 2004
Dernière intervention
7 février 2008
0
Merci
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
Commenter la réponse de cs_alll

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.