www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.dwt - WM_DROPFILES (hello Shawn!)

reply bobef <bobef lessequal.com> writes:
I trying to add WM_DROPFILES event for the windows version of DWT. I 
spent few hours studying the DWT internals... I defined new event in 
DWT, added new event class and all the stuff. I put all the stuff in a 
new version called SWT_SECT so it could be separated from the original 
SWT, but I have very strange problem. When I add new case for 
OS.WM_DROPFILES in the Control's windowProc I get unhandled exception in 
decorations.d 941 . Maybe I am doing something wrong? Could you (Shawn) 
explain briefly what is involved in adding new event handlers to DWT? I 
plan to add WM_DROPFILES and DDE handlers. Something like 
addDDEListener(service,topic)... I believe it would be useful to have 
these in the windows version, and even if they are not included in the 
official distribution, they are necessary for my project - akide.

Thank you,
bobef
Feb 19 2006
next sibling parent reply "Shawn Liu" <shawn666.liu gmail.com> writes:
"bobef" <bobef lessequal.com> says:dt9qmi$28ho$1 digitaldaemon.com...
I trying to add WM_DROPFILES event for the windows version of DWT. I spent 
few hours studying the DWT internals... I defined new event in DWT, added 
new event class and all the stuff. I put all the stuff in a new version 
called SWT_SECT so it could be separated from the original SWT, but I have 
very strange problem. When I add new case for OS.WM_DROPFILES in the 
Control's windowProc I get unhandled exception in decorations.d 941 . Maybe 
I am doing something wrong? Could you (Shawn) explain briefly what is 
involved in adding new event handlers to DWT? I plan to add WM_DROPFILES 
and DDE handlers. Something like addDDEListener(service,topic)... I believe 
it would be useful to have these in the windows version, and even if they 
are not included in the official distribution, they are necessary for my 
project - akide.

 Thank you,
 bobef

I think the additional Windows Message can be handled correctly in DWT. decorations.d line 941 only complains that there is a null image parameter passed into the setImages() method. http://trac.dsource.org/projects/dwt/browser/trunk/current/win32/import/dwt/widgets/decorations.d?rev=96#L941
Feb 20 2006
parent bobef <bobef lessequal.com> writes:
Shawn Liu wrote:
 "bobef" <bobef lessequal.com> says:dt9qmi$28ho$1 digitaldaemon.com...
 I trying to add WM_DROPFILES event for the windows version of DWT. I spent 
 few hours studying the DWT internals... I defined new event in DWT, added 
 new event class and all the stuff. I put all the stuff in a new version 
 called SWT_SECT so it could be separated from the original SWT, but I have 
 very strange problem. When I add new case for OS.WM_DROPFILES in the 
 Control's windowProc I get unhandled exception in decorations.d 941 . Maybe 
 I am doing something wrong? Could you (Shawn) explain briefly what is 
 involved in adding new event handlers to DWT? I plan to add WM_DROPFILES 
 and DDE handlers. Something like addDDEListener(service,topic)... I believe 
 it would be useful to have these in the windows version, and even if they 
 are not included in the official distribution, they are necessary for my 
 project - akide.

 Thank you,
 bobef

I think the additional Windows Message can be handled correctly in DWT. decorations.d line 941 only complains that there is a null image parameter passed into the setImages() method. http://trac.dsource.org/projects/dwt/browser/trunk/current/win32/import/dwt/widgets/decorations.d?rev=96#L941

This is why I said it is strange...
Feb 20 2006
prev sibling parent reply bobef <bobef lessequal.com> writes:
I found easier way to get notified on WM_DROPFILES - hooks (hook for 
WH_GETMESSAGE after DragAcceptFiles(shell.handle,1); )

I still can't have a full DDE conversation this way but give it some time...

bobef wrote:
 I trying to add WM_DROPFILES event for the windows version of DWT. I 
 spent few hours studying the DWT internals... I defined new event in 
 DWT, added new event class and all the stuff. I put all the stuff in a 
 new version called SWT_SECT so it could be separated from the original 
 SWT, but I have very strange problem. When I add new case for 
 OS.WM_DROPFILES in the Control's windowProc I get unhandled exception in 
 decorations.d 941 . Maybe I am doing something wrong? Could you (Shawn) 
 explain briefly what is involved in adding new event handlers to DWT? I 
 plan to add WM_DROPFILES and DDE handlers. Something like 
 addDDEListener(service,topic)... I believe it would be useful to have 
 these in the windows version, and even if they are not included in the 
 official distribution, they are necessary for my project - akide.
 
 Thank you,
 bobef

Feb 20 2006
parent bobef <bobef lessequal.com> writes:
OK. Did the DDE too. The tricky part is that WM_DDE_INITATE goes to 
WH_CALLWNDPROC (maybe WH_CALLWNDPROCRET too, haven't tried) and 
WM_DDE_EXECUTE/TERMINATE goes to WH_GETMESSAGE ...





bobef wrote:
 I found easier way to get notified on WM_DROPFILES - hooks (hook for 
 WH_GETMESSAGE after DragAcceptFiles(shell.handle,1); )
 
 I still can't have a full DDE conversation this way but give it some 
 time...
 
 bobef wrote:
 I trying to add WM_DROPFILES event for the windows version of DWT. I 
 spent few hours studying the DWT internals... I defined new event in 
 DWT, added new event class and all the stuff. I put all the stuff in a 
 new version called SWT_SECT so it could be separated from the original 
 SWT, but I have very strange problem. When I add new case for 
 OS.WM_DROPFILES in the Control's windowProc I get unhandled exception 
 in decorations.d 941 . Maybe I am doing something wrong? Could you 
 (Shawn) explain briefly what is involved in adding new event handlers 
 to DWT? I plan to add WM_DROPFILES and DDE handlers. Something like 
 addDDEListener(service,topic)... I believe it would be useful to have 
 these in the windows version, and even if they are not included in the 
 official distribution, they are necessary for my project - akide.

 Thank you,
 bobef


Feb 20 2006