akalys
Messages postés31Date d'inscriptionmercredi 6 février 2008StatutMembreDernière intervention 6 janvier 2010
-
19 févr. 2008 à 09:46
gvollant
Messages postés22Date d'inscriptionmardi 3 mars 2009StatutMembreDernière intervention 3 mars 2009
-
19 févr. 2008 à 21:14
Bonjour à tous
Utilisant l'api windows ac visual studio, j'ai tester un Drag&Drop avec une simple listview dans une boite de dialogue avec le code suivant :
case WM_INITDIALOG:
DragAcceptFiles(GetDlgItem(dlg,IDC_LIST2),TRUE);
case WM_DROPFILES:
int count;
HDROP hdrop;
hdrop=(HDROP)(wparam);
char buffer[MAX_PATH]; //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! DECLARATION DE BUFFER QUE LA !!!!!! (in "case")
count = DragQueryFile(hdrop,0xFFFFFFFF,0,0);
for (int i = 0; i < count; i += 1)
{
DragQueryFile(hdrop,i,buffer,MAX_PATH);
ListView_InsertItem(GetDlgItem(dlg,IDC_LIST2),(LPARAM)&LvItem);
ff.AddSubItem(GetDlgItem(dlg,IDC_LIST2),0,buffer);
}
return TRUE;
Cela fonctionne très bien , le Drag&drop marche quand je glisse le fichier dans ma boite dans dialogue ou dans ma listview.
Je veux implémenter ce petit algo dans un programme , mais la problème.
Le drag and drop ne fonctionne pas lorsque je glisse sur mas liste view, mais juste quand je glisse sur la boite de dialogue ( a lexterieur de ma listview).
Pourtant j'ai bien régler lors de ma creation de ma boite de dialogue la fct Accept file sur true pour ma listview. ( lorsque je glisse un fichier sur la listview la souris change bien de forme pour signaler un cliquer glisser, mais rien)