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