mighty_warrior
Messages postés123Date d'inscriptionlundi 12 juin 2006StatutMembreDernière intervention 9 février 2010
-
8 mai 2007 à 15:04
mighty_warrior
Messages postés123Date d'inscriptionlundi 12 juin 2006StatutMembreDernière intervention 9 février 2010
-
8 mai 2007 à 19:02
Bonjour,
Je souhaite gérer une liste de racourcis. Pour celà j'utilise un
ListView dans lequel j'ajoute mes fichiers par drag and drop depuis
windows.Cette partie là fonctionne, voici le code (au cas où):
var
FileNbr, i: Integer;
FileName: String;
Files: Array[0..255] of Char;
ListItem: TListItem;
procedure TFichier.FormCreate(Sender: TObject);
begin
DragAcceptFiles(Self.Handle,True);
end;
procedure TFichier.DropMsg(var msg: TWMDropFiles); // faire le drag and drop
begin
Avec cette ligne je n'obtient que des erreurs, je pense que c'est a cause de "FileName".
Donc est-ce que quelqu'un saurait comment lancer les raccourcis(qui sont des dossiers, des fichiers textes...comme "mes documents" par exemple)en cliquant dessus?
J'espére avoir été clair dans ma demande.
Merci.
A voir également:
Probléme shellexecute (lancer des dossier par clic sur les items d'un listview)
Il me reste un léger souci, je m'explique:
lorsque je clic sur l'item j'ouvre le fichier ou dossier en question mais celà se produit aussi au 2nd clic peut importe l'item et même si je clic sur un espace vide du listview.
J'ai remarquer que l'item sur lequel j'ai cliqué reste en surbrillance jusqu'au second clic (je pense donc qu'il y a un rapport entre le relencement du fichier et cette surbrillance) ce qui m'améne a poser cette question:
comment faire pour enlever cette surbrillance...enfin je veut dire déselectionner l'item apres l'ouverture du fichier?
florenth
Messages postés1023Date d'inscriptiondimanche 1 août 2004StatutMembreDernière intervention17 août 20083 8 mai 2007 à 18:56
Il faut que tu testes la valeur du param Selected.
<hr size= "2" width="100%" /> procedure TFichier.ListView1SelectItem(Sender: TObject; Item: TListItem;
Selected: Boolean);
begin
if Selected then
ShellExecute(0, 'open', PChar(Item.SubItems.Strings[0]) , nil, nil, SW_SHOW);
end;<hr size ="2" width="100%" />
Logiquement, le dossier ne devrait s'ouvrir que lorsque tu sélectionne l'item.
++