changeset 21884:bc4455bca454

Include shellapi.h. (w32_createwindow): Enable drag-n-drop on new windows. (w32_wnd_proc): Handle WM_DROPFILES messages. Disable drag-n-drop on closing windows.
author Richard M. Stallman <rms@gnu.org>
date Fri, 01 May 1998 04:37:42 +0000
parents 93c99b3a57f1
children 40c97499e89a
files src/w32fns.c
diffstat 1 files changed, 10 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/w32fns.c	Fri May 01 04:24:43 1998 +0000
+++ b/src/w32fns.c	Fri May 01 04:37:42 1998 +0000
@@ -40,6 +40,7 @@
 #include "termhooks.h"
 
 #include <commdlg.h>
+#include <shellapi.h>
 
 extern void abort ();
 extern void free_frame_menubar ();
@@ -2891,6 +2892,9 @@
       SetWindowLong (hwnd, WND_SCROLLBAR_INDEX, f->output_data.w32->vertical_scroll_bar_extra);
       SetWindowLong (hwnd, WND_BACKGROUND_INDEX, f->output_data.w32->background_pixel);
 
+      /* Enable drag-n-drop.  */
+      DragAcceptFiles (hwnd, TRUE);
+      
       /* Do this to discard the default setting specified by our parent. */
       ShowWindow (hwnd, SW_HIDE);
     }
@@ -3583,6 +3587,11 @@
       my_post_msg (&wmsg, hwnd, msg, wParam, lParam);
       return 0;
 
+    case WM_DROPFILES:
+      wmsg.dwModifiers = w32_get_modifiers ();
+      my_post_msg (&wmsg, hwnd, msg, wParam, lParam);
+      return 0;
+
     case WM_TIMER:
       /* Flush out saved messages if necessary. */
       if (wParam == mouse_button_timer)
@@ -3862,6 +3871,7 @@
       }
 
     case WM_EMACS_DESTROYWINDOW:
+      DragAcceptFiles ((HWND) wParam, FALSE);
       return DestroyWindow ((HWND) wParam);
 
     case WM_EMACS_TRACKPOPUPMENU: