Simuler un glisser/déposer...

Résolu
cs_kalif Messages postés 362 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 24 août 2012 - 14 nov. 2009 à 13:11
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 - 15 nov. 2009 à 14:45
Bonjour a tous,

Je cherche le moyen de pouvoir <simuler> depuis mon application un glisser déposer, comme si je glissais un fichier texte de l'explorateur vers le bloc-notes.

Malheureusement je ne trouve pas assez d'informations sur WM_DROPFILES


Si quelqu'un sais comment faire.... N'hésitez pas. Merci

16 réponses

cs_kalif Messages postés 362 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 24 août 2012
15 nov. 2009 à 11:35
kakenette> non je ne peux malheureusement pas passer par le clipboard mais j'ai quand meme trouver un code exemple pour moi (pas en vb mais ca fera l'affaire). Merci à tous et bonne journée


void CTestdragDlg::OnOK()
{
DROPFILES *lpDrg = NULL;
// CHAR lpBuffer[sizeof(DROPFILES) + MAX_PATH];
// ZeroMemory (lpBuffer,sizeof(DROPFILES) + MAX_PATH);
LPVOID lpBuffer = LocalAlloc(LPTR,sizeof(DROPFILES) + MAX_PATH);

if (lpBuffer)
{
lpDrg = (DROPFILES*) lpBuffer;
lpDrg->pFiles = sizeof(DROPFILES);
lstrcpyn((LPSTR)((DWORD)lpBuffer + sizeof(DROPFILES)),"c:\\abcd.txt",MAX_PATH);
SendMessage(WM_DROPFILES,(WPARAM)lpBuffer,0);
// LocalFree(lpBuffer);
}
}
3
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
14 nov. 2009 à 14:42
Bonjour,

Sans autre précisions sur de quoi et vers quoi tu glisses (avec ou non visuatisation dans des contrôles - et lesquels - ...)
Je vais me contenter de t'inviter à lire ton aide en ligne ce que font FileCopy et Name ... et ... appliquer (en fonction du cas).
0
cs_kalif Messages postés 362 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 24 août 2012
14 nov. 2009 à 17:27
et bien c'est simple,

Lorsque je clique sur MonBoutton() , notepad doit avoir recu le fichier test.txt par glisser/déposer qui se trouve sur mon bureau


Je sais que lorsqu'on fait un glisser/ déposer , c'est le message WM_DROPFILES qui est envoyé mais je n'en sais pas plus...
0
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
14 nov. 2009 à 17:36
Lorsque je clique sur MonBoutton() , notepad doit avoir recu le fichier test.txt par glisser/déposer qui se trouve sur mon boutton


Excuse-moi, mais j'ai là des difficultés à comprendre ...
Que veut donc dire :
1)
notepad doit avoir recu le fichier test.txt

Explique de manière précise et claire
1)
le fichier test.txt par glisser/déposer qui se trouve sur mon boutton

Comment ça, un fichier qui "se trouve" sur ton bouton ?
Et glisser depuis quoi et à déposerf où ?
Explique de manière précise et claire

Il va falloir que tu t'efforces d'exprimer clairement et de manière détaillée et precise ces mécanismes qui, dans l'état actuel des choses, ne veulent pas dire grand-chose !
0

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

Posez votre question
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
14 nov. 2009 à 17:39
C'est d'ailleurs la raison pour laquelle ta discussion du même type, ici :
http://www.vbfrance.com/forum/sujet-SIMULER-DRAG-DROP_1356634.aspx
est restée sans aucune réponse (question vraiment peu claire !)
0
cs_kalif Messages postés 362 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 24 août 2012
14 nov. 2009 à 17:47
Glisser et déposer, drag & drop
-------------------------------


Clique gauche maintenu sur un fichier quelconque (dans mon cas un fichier texte) dans l'exploreur microsoft windows xp, puis relaché (le clique) sur la fenetre du programme executable "Notepad" pour que celui ci le charge

Voila ce que j'entend par glisser déposer, et je recherche un code visual basic 6 qui permettrai de faire la meme chose. C'est a dire d'envoyer le message WM_DROPFILES grace a l'API PostMessage() avec les bon paramètres

Voila
0
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
14 nov. 2009 à 17:57
sur la fenetre du programme executable "Notepad" pour que celui ci le charge


pas beaucoup mieux !
c'est quoi, le "programme exécutable "Notepad" ?
et pour que ce "programme" le charge dans quoi ?

Pas clair ...
Prends ton temps et détaille pas à pas les tenants et aboputissants, sans rien omettre, notamment en matière de définition exacte des fenêtres (on dirait que c'est celà ???) concern&es par ce "glisser déposer".
Précise, pour chacune, s'il s'agit d'une fenêtre de ton application, s'ilm s'agit d'une fenêtre d'une autre application (et dans ce cas : que tu gères ou pas ?)
šrécise également le type de ce que tu veux ainsi "glisser déposer"...
A défaut de faire ceci clairement, moi j'abandonne ... ( bien évidemment...)
0
cs_kalif Messages postés 362 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 24 août 2012
14 nov. 2009 à 23:47
hé mais t'exagère pas un peu ???? tu veux pas que je te fasse un dessin ? je cherche juste la structure de hDrop pour pouvoir envoyer un message wm_dropfiles à une appli

en bref ceci ==> http://msdn.microsoft.com/en-us/library/bb774303(VS.85).aspx
mais en vb


désolé d'etre désagréable mais la tu cherche un peu j'ai l'impression
0
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
15 nov. 2009 à 07:08
Tu crois vraiment que j'exagérais ?
Pas moi
J'abandonne donc (je te l'avais dit).
Bonne chance
0
kakenette Messages postés 218 Date d'inscription dimanche 1 mai 2005 Statut Membre Dernière intervention 15 novembre 2009 1
15 nov. 2009 à 08:15
Laisse tomber ce mec, il ma fait pareil( http://www.vbfrance.com/forum/sujet-CACHER-FORM-BARRE-TACHES_1370998.aspx?p=2 ), marrant quand même car je passe par hasard et qui voilà? jmf0 comme pas deux et surprise pas étonnantede voir comment finit ce topic.

0 Sources
0 Commentaires
1508 messages

Combiens victorieux ?

Ahahah :p

Allé sur ce, bonne soirée.

kakenette
0
kakenette Messages postés 218 Date d'inscription dimanche 1 mai 2005 Statut Membre Dernière intervention 15 novembre 2009 1
15 nov. 2009 à 08:36
Ps: Si sa te dérange pas d'utiliser le Clipboard, j'ai peut être la solution qui te conviendrai parfaitement :) Redit moi. Si non regarde peut être du coter de "Shell Data Object" se que je pense que tu as peut être sûrement dû déjà déjà fait.


kakenette
0
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
15 nov. 2009 à 09:46
Hé bé !
Je vais donc observer, sans intervenir, le dialogue de sourds que je sens venir ...
à kakenette : Bravo ! tu as tout compris de ce qui était attendu ....)
0
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
15 nov. 2009 à 13:47
voilà une solution qui va profiter agréablement et utilement à tous ceux (les développeurs VB6) qui ont suivi et compris ...
Ils savent maintenant tout (tout quoi et de quoi ? bah... aucune importance, puisqu'est ainsi résolu un problème qui était le tien et qui n'est toujours pas clairement identifié).
Mais bravo !
0
cs_kalif Messages postés 362 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 24 août 2012
15 nov. 2009 à 13:53
sinon au passage es ce que tu sais comment on fait pour créer un "afficher une couleur"

mdrrrrrr aller bonne journée
0
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
15 nov. 2009 à 14:27
On prend unb rouleau et un pot de peinture !
Sous VB6, cela dépend de ce que l'on veut en faire :
Si ce n'est que pour la montrer (l'afficher, comme tu dis), on se sert de VB6 et de CommonDialog.
Si c'est pour l'utiliser : on utilise celle que l'on a ainsi choisie.

D'un niveau TRES élevé, comme tu vois .... (et moi, je ne suis pas mort de rire.... bien au contraire, d'avoir à répondre à une telle question ....)
0
jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
15 nov. 2009 à 14:45
Pour la "montrer", maintenant : une solution très intelligente :
on choisit le support de son choix, on le peint avec cette couleur, et on affiche le tout en ajoutant au besoin un label disant "oyé ! la voilà, la couleur".

Et on va avec tout cela dans une cour de récréation se mêler à d'autres copains/copine(s) () pour (comme d'autres le font avec des cartes de pokémon) échanger des bouts de codes pris ici ou là et auxquels on ne comprend rien ...
Bon Dimache.
0
Rejoignez-nous