Could you provide some code? Which class is not getting the WM_MOUSEWHEEL? If you're instantiating another control inside the docking window, which is taking up the whole window, it's probably getting all the mousewheel messages because it's on top of the docking window.
I'd like to know how can I run an executable application inside an activeX, so this program would run into the browser window ?
Can I execute any application into an activeX if the .ocx is registered ?
Hope you guys can help me
My impression is that you have a little bit of a misunderstanding regarding what is the boundary between an executable and an ActiveX control. I'll try to explain:
The ActiveX control is just a DLL - an executable module that multiple processes can load and call functions upon. The fact that it uses COM as it's interface to the rest of the world is immaterial, or at least secondary.
So, in this case, Internet Explorer IS your executable. The ActiveX control and its windows within the browser are all child controls running in the context (or 'sandbox') of Internet Explorer. When a regular MFC dialog application needs to create a list box, it loads comctl32.dll and calls methods/functions in the DLL to create a list box in it's dialog window - and you have a child window in your dialog with the behavior of a list box.
The same thing applies with ActiveX controls, be it in your dialog class or in IE... you call CreateControl() on it, it loads your control's DLL, and you get a child window with the behavior of your ActiveX control. YOU WRITE THE BEHAVIOR. YOU DETERMINE HOW IT RESPONDS TO MOUSE CLICKS. YOU DETERMINE WHAT MESSAGES IT SENDS TO IT'S PARENT. YOU are the master.
I hope this makes thing a little clearer - your question gives the impression you want to make another application use the ActiveX control running in IE as it's main window - I'm pretty sure that's not possible - or at least it's got something I've ever tried (and is probably loaded with security and implementation problems). But you can write your ActiveX control so that it does all the things your executable does (within the security and implementation constrains of IE), and/or connects (via sockets/DCOM/whatever) to a running instance of your application and then displays the data the application returns.
irritating.... first it gave me unicode build problems. then, when i compiled in normal build, it never creates the window and always crashes.... ther's always some problem with this project, or the other. ..... irritating. i wasted lot of my time in that..
I will admit to getting quite a few remarks about my lack of _T() macros around string constants - I hadn't done a lot of Unicode coding when I wrote this. For those of you not able to use the old ANSI character set (most of the world, I know), please wrap all string constants in _T( ) before trying to build.
I understand you're frustrated and appreciate your letting me know - but you haven't really given me any information that would allow me to help you with your build. Where do you get errors in builds and what are they? That would be a start. For your runtime errors, can you give me some feedback on where it dies? Do ANY breakpoints work?
Both compiler errors are occuring because you're trying to do a UNICODE build of the project (where chars are 2 bytes (an 'unsigned short') long). You can try to do an ANSI build and/or put an L before both string constants ( L"MS Sans Serif" ) to change the const char * to a constant (TCHAR) *.
Actually, an even better idea is to put the TEXT() and/or _T() macro around both string constants - _T("MS Sans Serif"). That'll work no matter your char set! Honestly, I should have done that...
Actually, I think it's a problem of the codeproject losing my original article submission, but I'll be getting
it updated with the article from Cristi's site (http://www.datamekanix.com) as soon as possible!