Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème de Drag and drop

2 réponses
Avatar
ByB
Bonjour,

Je développe une application MFC sous Win XP avec Visual C++ 6.0.
Je gère le Drag and Drop sur une classe dérivée de CDialog, en gérant :

afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnDropFiles(HDROP hDropInfo);

et j'initialise le Drag and drop avec DragAcceptFiles() dans
l'InitDialog de mon dialog.

Jusque là, tout va bien, sauf que de cette façon, je gère de Drag and
drop sur le dialog tout entier, alors que je voudrais qu'il ne
fonctionne que si le fichier est droppé dans une ListBox (m_liste)
présente sur ce dialog.

Que dois je modifier pour cela ?

Merci de vos conseils.

--
Le tapioca a un goût de moisi assez déplaisant pour les personnes qui
n'aiment pas le moisi.
[Alphonse Allais]

2 réponses

Avatar
domi
ByB wrote:

Jusque là, tout va bien, sauf que de cette façon, je gère de Drag and
drop sur le dialog tout entier, alors que je voudrais qu'il ne
fonctionne que si le fichier est droppé dans une ListBox (m_liste)
présente sur ce dialog.

Que dois je modifier pour cela ?



Tu l'implémentes sur la CListBox, comme sur ce genre d'exemple :
http://blog.csdn.net/starlee/archive/2007/01/03/1472710.aspx
Avatar
ByB
domi avait énoncé :
ByB wrote:



Jusque là, tout va bien, sauf que de cette façon, je gère de Drag and drop
sur le dialog tout entier, alors que je voudrais qu'il ne fonctionne que si
le fichier est droppé dans une ListBox (m_liste) présente sur ce dialog.

Que dois je modifier pour cela ?





Tu l'implémentes sur la CListBox, comme sur ce genre d'exemple :
http://blog.csdn.net/starlee/archive/2007/01/03/1472710.aspx



Merci pour la réponse. J'ai trouvé une autre solution, et qui est de
remplacer la ligne :

DragAcceptFiles();

par

m_liste.DragAcceptFiles();

ce qui fait que le Drag and drop ne marche que dans la liste,
ce qui résoud aussi le problème ...

En tout cas, merci pour le lien, très intéressant par ailleurs.


--
Je ne comprends pas les anglais ! Tandis qu'en France nous donnons à
nos rues des noms de victoire: Wagram, Austerlitz... là-bas, on leur
colle des noms de défaite: Trafalgar square, Waterloo Place...
(Alphonse Allais)