ShellListView ???

Résolu
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 - 4 déc. 2004 à 23:01
cs_alll Messages postés 11 Date d'inscription mardi 9 novembre 2004 Statut Membre 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

6 réponses

ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
5 déc. 2004 à 14:26
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 ! :)
3
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
5 déc. 2004 à 03:17
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 !
0
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
5 déc. 2004 à 12:17
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
0
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
5 déc. 2004 à 14:35
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 !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
5 déc. 2004 à 23:41
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
0
cs_alll Messages postés 11 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 7 février 2008
9 févr. 2008 à 15:10
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
0
Rejoignez-nous