begin process at 2012 05 29 11:34:40
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

Fichier & Disque

 > 

Drag&Drop


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Drag&Drop

dimanche 20 août 2006 à 08:28:30 | Drag&Drop

yoyo269

Membre Club
Bonjour à tous,

je souhaiterai effectuer un drag&drop sur une edit.
J'arrive parfaitement bien à utiliser le drag&drop sur une fenêtre entière.
Comment arriver à limiter le drag&drop (icône compris) sur la seule edit désirée d'une interface graphique qui en compte plusieurs.
Si vous voulez plus de précisions, ya qu'à demander. ;-)
Merci d'avance.

YOYO, @+.

"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"

dimanche 20 août 2006 à 12:11:38 | Re : Drag&Drop

vecchio56

Administrateur CodeS-SourceS
Tu mets le style WS_EX_ACCEPTFILES seulement sur l'edit, voila tout

_____________________________________
Un éditeur de ressources gratuit pour Windows

dimanche 20 août 2006 à 14:38:06 | Re : Drag&Drop

yoyo269

Membre Club
J'avais déjà essayé ça, mais sans succès.
Je vais détailler ma procédure quand je fais un drag and drop sur la fenêtre.

Je crée ma fenêtre avec CreateWindowEx(...) sans style WS_EX_ACCEPTFILES et dans le message WM_CREATE de la fenêtre, je fais DragAcceptFiles(frmhWnd, true); où frmhWnd est le HWND de la fenêtre.
Je crée mes edits avec CreateWindowEx(...) sans style WS_EX_ACCEPTFILES non plus.
Ensuite quand un drag and drop intervient, je traite le message WM_DROPFILES pour savoir le nom du fichier déposé sur la fenêtre.
Ca fonctionne sans souci. Que faut t'il changer pour avoir uniquement un message WM_DROPFILES quand le dépôt de fichier a lieu sur une edit ?

YOYO, @+.

"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"

dimanche 20 août 2006 à 14:52:41 | Re : Drag&Drop

vecchio56

Administrateur CodeS-SourceS
Tu fais comme je t'ai dit, tu mets le style WS_EX_ACCEPTFILES pour l'edit (pas besoin d'appeler DragAcceptFiles comme ca).
Mais c'est l'edit qui va recevoir le message WM_DROPFILES, il faut donc le sous-classer:

WNDPROC DefEditproc;
LRESULT CALLBACK EditProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
  if(uMsg == WM_DROPFILES)
  {
    // Traitement drag&drop
  }
  return DefEditproc(hWnd, uMsg, wParam, lParam);
}

LRESULT CALLBACK AppWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
  HWND hEdit;
  switch(uMsg)
  {
  case WM_CREATE:
    hEdit = CreateWindowEx(WS_EX_ACCEPTFILES | WS_EX_CLIENTEDGE, "EDIT", 0, WS_CHILD | WS_VISIBLE, 10, 10, 100, 20, hWnd, 0, g_hInst, 0);
    DefEditproc = (WNDPROC)SetWindowLongPtr(hEdit, GWL_WNDPROC, (LONG_PTR)EditProc);
    break;
  }
  return DefWindowProc(hWnd, uMsg, wParam, lParam);
}

_____________________________________
Un éditeur de ressources gratuit pour Windows

dimanche 20 août 2006 à 15:38:08 | Re : Drag&Drop

yoyo269

Membre Club
Je comprends pas pourquoi ça fonctionne pas. Je fais la même chose que toi mais ça veut pas.
Petite précision, quand je crée ma fenêtre avec WS_EX_ACCEPTFILES (donc sans DragAcceptFiles) le drag and drop marche du tonerre.
Ca t'inspire ?

YOYO, @+.

"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"

dimanche 20 août 2006 à 15:47:04 | Re : Drag&Drop

vecchio56

Administrateur CodeS-SourceS
J'ai essayé l'exemple que je t'ai donné, et il fonctionne très bien. Tu n'a qu'a faire un copier coller. Pas besoin de DragAcceptFiles, la seule chose est que l'edit doit avoir WS_EX_ACCEPTFILES

_____________________________________
Un éditeur de ressources gratuit pour Windows

dimanche 20 août 2006 à 16:09:39 | Re : Drag&Drop

yoyo269

Membre Club
Tu peux mettre ton projet en lien stp, parce qu'on dirait qu'aucun objet créé (avec le style WS_EX_ACCEPTFILES
) sur la fenêtre n'accepte le drag and drop ? Par contre avec la fenêtre elle-même pas de problème.

YOYO, @+.

"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"

dimanche 20 août 2006 à 16:17:42 | Re : Drag&Drop

vecchio56

Administrateur CodeS-SourceS
[ Lien ]

_____________________________________
Un éditeur de ressources gratuit pour Windows

dimanche 20 août 2006 à 16:54:04 | Re : Drag&Drop

yoyo269

Membre Club
Malheureusement ce que tu as mis en lien ne m'a pas aidé, ton exe se ferme aussitôt à peine lancé, du coup j'essaie de compiler moi-même (dev-c++ 4.9.9.2) et après qq changements minimes ça compile et quand je lance l'exe, idem qu'avec le tien.
Il se ferme aussitôt qu'on le lance. En fait il s'avère que c'est l'enregistrement de la classe de la fenêtre qui échoue.
Mais j'ai un début de réponse tout de même. J'ai remarqué que quand je crée toute mon interface sur la fenêtre, si mon edit est créé après mon fameux tabcontrol (si tu te souviens de mon précédent post) le drag&drop foire.
Par contre si je le crée avant, ça marche nickel !
Tu as une explication à ça ou même une idée ? Moi je dois avouer que ça me troue le c.. !

YOYO, @+.

"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"

dimanche 20 août 2006 à 17:12:09 | Re : Drag&Drop

vecchio56

Administrateur CodeS-SourceS
Bizarre, l'exe se lance bien chez moi... (tu as quel windows?)
J'ai modifié quelques trucs, tu peux réessayer

Essaie toujours ca, on verra après si ca vient du TabControl

_____________________________________
Un éditeur de ressources gratuit pour Windows


1 2

Cette discussion est classée dans : edit, drag, drop


Répondre à ce message

Sujets en rapport avec ce message

question drag drop [ par youpla51 ] Bonjour,Lorsque je fait un drag drop dans un cRichEditCtrl je recoit un message EN_DROPFILES dans lequel je ne peux recupérer que le nom du fichier.Or Drag and drop sur une CListctrl [ par Xavixxxx ] Bonjour !!!Je suis en train de programmer un agenda dynamique sous Visual C++ avec une CListctrl,et j'ai un gros problème.J'aimerai pouvoir déplacer t Drag Drop [ par said01 ] Bonjour,Au momoent d'un drag&Drop depuis l'explorateur windows vers ma treeview, je souhaite détéctcter le présence de la souris sur la treeView juste drag&drop sur l'executable [ par crazyh0rse ] je voudrais faire un drag&drop sur l'icone de l'executable et recuperé le nom des fichier dropé.j'arrive a géré le drag&drop d'un fichier ds l'applica Drag and Drop [ par marc_pl ] Bonjour, je suis en train d'écrire un programme qui recherche des fichiers sur un réseau. Il se compose d'une boite de dialogue contenant 2 zones de l Problème entre Tabctrl CListCtrl et le Drag and drop [MFC] [ par MasterShadows ] Salut à tous et à toutes;voilà mon problème; je veux faire une clistctrl en drag and drop en utilisant les MFC (cadre d'un cours); cependant il faut q MFC: Drag and Drop d'objet [ par Breizhim ] Bonjour!Le drag and drop de fichier est expliqué et re-expliqué sur le net.Mais mon besoin est différent, sachant que l'utilisation des MFCs m'est imp Drag & drop sur exe [ par Galmiza ] Salut tout le monde !J'ai un problème avec les arguments passé à un exe suite à un drag and drop.Lorsque le nombre de fichiers glissés vers l'exe est Drag&Drop C++ Builder [ par JejeLand ] Bonjour à tous,Je cherche à afficher une image qui suit ma souris lors d'un Drag&Drop et je ne sais pas comment faire... Salut. Hook drag and drop [ par kakai ] J'ai un grand besoin d'aide. <P class=MsoNormal style


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,733 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales