Thank you for response. The control added is DirectShow Windows, in Spy++ I
can see Wnd event, but the control do not escalate those messages to parent
control, HOWEVER I already solved it by inplementing
put_MessageDrain callbackes into parent.
Thank you for your time:
Following the solution (for those who interested in)
----------------Win32-----------------------------
[PreserveSig]
int put_MessageDrain( IntPtr drain );
[PreserveSig]
int get_MessageDrain( out IntPtr drain );
-------------------------------------------------------
-----------------C#-----------------------------------
hr = videoWin.put_MessageDrain(this.Handle);
if( hr < 0 )
Marshal.ThrowExceptionForHR( hr );
------------------------------------------------------------
TNX to all
--
Tamir Khason
You want dot.NET? Just ask:
"Please,
www.dotnet.us "
"Kevin Yu [MSFT]" <v-****@online.microsoft.com> wrote in message
news:wj*************@cpmsftngxa10.phx.gbl...
Hi Tamir,
First of all, I would like to confirm my understanding of your issue. From
your description, I understand that when you put a win32 control in a .net
control (such as form), the win32 control cannot receive any mouse
messages. If there is any misunderstanding, please feel free to let me
know.
Could you let me know what kind if control you are working on? Is it an
ActiveX control? I have tried to put an ActiveX control on a C# windows
application form. However, it works well on my computer. Could you please
try to use Spy++ to check if the message can be captured. Here are the
steps:
1. Start Spy++ from Start -> All Programs -> Microsoft Visual Studio .NET
2003 -> Visual Studio .NET Tools -> Spy++.
2. Start your application from VS.NET.
3. Click on Log Message button on the toolbar of Spy++.
4. Drag and drop the Finder Tool to the ActiveX control and click ok.
5. Then you can move mouse to the control to see if message can be
captured.
HTH.
Kevin Yu
=======
"This posting is provided "AS IS" with no warranties, and confers no
rights."