Simuler un glisser/déposer... [Résolu]

cs_kalif 362 Messages postés mardi 18 décembre 2001Date d'inscription 24 août 2012 Dernière intervention - 14 nov. 2009 à 13:11 - Dernière réponse : jmf0 1566 Messages postés mardi 26 décembre 2000Date d'inscription 5 avril 2013 Dernière intervention
- 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
Afficher la suite 

Votre réponse

16 réponses

cs_kalif 362 Messages postés mardi 18 décembre 2001Date d'inscription 24 août 2012 Dernière intervention - 15 nov. 2009 à 11:35
+3
Utile
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);
}
}
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_kalif
jmf0 1566 Messages postés mardi 26 décembre 2000Date d'inscription 5 avril 2013 Dernière intervention - 14 nov. 2009 à 14:42
0
Utile
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).
Commenter la réponse de jmf0
cs_kalif 362 Messages postés mardi 18 décembre 2001Date d'inscription 24 août 2012 Dernière intervention - 14 nov. 2009 à 17:27
0
Utile
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...
Commenter la réponse de cs_kalif
jmf0 1566 Messages postés mardi 26 décembre 2000Date d'inscription 5 avril 2013 Dernière intervention - 14 nov. 2009 à 17:36
0
Utile
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 !
Commenter la réponse de jmf0
jmf0 1566 Messages postés mardi 26 décembre 2000Date d'inscription 5 avril 2013 Dernière intervention - 14 nov. 2009 à 17:39
0
Utile
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 !)
Commenter la réponse de jmf0
cs_kalif 362 Messages postés mardi 18 décembre 2001Date d'inscription 24 août 2012 Dernière intervention - 14 nov. 2009 à 17:47
0
Utile
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
Commenter la réponse de cs_kalif
jmf0 1566 Messages postés mardi 26 décembre 2000Date d'inscription 5 avril 2013 Dernière intervention - 14 nov. 2009 à 17:57
0
Utile
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...)
Commenter la réponse de jmf0
cs_kalif 362 Messages postés mardi 18 décembre 2001Date d'inscription 24 août 2012 Dernière intervention - 14 nov. 2009 à 23:47
0
Utile
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
Commenter la réponse de cs_kalif
jmf0 1566 Messages postés mardi 26 décembre 2000Date d'inscription 5 avril 2013 Dernière intervention - 15 nov. 2009 à 07:08
0
Utile
Tu crois vraiment que j'exagérais ?
Pas moi
J'abandonne donc (je te l'avais dit).
Bonne chance
Commenter la réponse de jmf0
kakenette 218 Messages postés dimanche 1 mai 2005Date d'inscription 15 novembre 2009 Dernière intervention - 15 nov. 2009 à 08:15
0
Utile
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
Commenter la réponse de kakenette
kakenette 218 Messages postés dimanche 1 mai 2005Date d'inscription 15 novembre 2009 Dernière intervention - 15 nov. 2009 à 08:36
0
Utile
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
Commenter la réponse de kakenette
jmf0 1566 Messages postés mardi 26 décembre 2000Date d'inscription 5 avril 2013 Dernière intervention - 15 nov. 2009 à 09:46
0
Utile
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 ....)
Commenter la réponse de jmf0
jmf0 1566 Messages postés mardi 26 décembre 2000Date d'inscription 5 avril 2013 Dernière intervention - 15 nov. 2009 à 13:47
0
Utile
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 !
Commenter la réponse de jmf0
cs_kalif 362 Messages postés mardi 18 décembre 2001Date d'inscription 24 août 2012 Dernière intervention - 15 nov. 2009 à 13:53
0
Utile
sinon au passage es ce que tu sais comment on fait pour créer un "afficher une couleur"

mdrrrrrr aller bonne journée
Commenter la réponse de cs_kalif
jmf0 1566 Messages postés mardi 26 décembre 2000Date d'inscription 5 avril 2013 Dernière intervention - 15 nov. 2009 à 14:27
0
Utile
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 ....)
Commenter la réponse de jmf0
jmf0 1566 Messages postés mardi 26 décembre 2000Date d'inscription 5 avril 2013 Dernière intervention - 15 nov. 2009 à 14:45
0
Utile
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.
Commenter la réponse de jmf0

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.