Solved

Subclassing -Missing WM Messages

Posted on 2004-09-08
14
263 Views
Last Modified: 2013-12-03
Ok, I've earned my "expert" wings but only have 255 points so far, but I'll happily give them all away to anyone who can drop their inhibitions for long enough to tell me why I'm having this problem - and preferably suggest a work-around within the same context!

I've successfully subclassed an Excel spreadsheet in the project posted in the following link, which facilitates a mouse-tracking tool. Very handy (if you like that sort of thing) - however as explained in the thread, mouse-clicks are subsequently not received by the worksheet window.

http://www.xtremevbtalk.com/showthread.php?t=180433

Why-oh-why?...


ps. Sorry if the points seem stingy, I've been wating for a month and it's all I've got but I'll happily write an IOU for 500! :)
0
Comment
Question by:Colonel32
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 8
  • 5
14 Comments
 
LVL 16

Expert Comment

by:nonubik
ID: 12024700
Have you ken into account that the mouse clicks may be caught by some spreasheet children window? (like cells or something)
0
 
LVL 4

Author Comment

by:Colonel32
ID: 12034311
Hi nonubik. Your comment prompted me to use GetFocus to see which window actually had the focus when the mouseclicks were sent.

As it turns out, SPY++ showed that it's not the EXCEL7 (spreadsheet) class as I had assumed, it's some other generic class with no description "F3 Server 60000000". Since most Forms.2 control windows aren't created until they are activated, and a Google search revealed that the class appears in most MSO components, I'm guessing that this is what it is. Quite what how that impacts what I'm trying to do is beyond me though. :-\

Any more thoughts?
0
 
LVL 16

Expert Comment

by:nonubik
ID: 12042525
Can you get from the Excel sheet subclassed to the "F3 Server.." hwnd? In order to subclass it, too
0
MS Dynamics Made Instantly Simpler

Make Your Microsoft Dynamics Investment Count  & Drastically Decrease Training Time by Providing Intuitive Step-By-Step WalkThru Tutorials.

 
LVL 4

Author Comment

by:Colonel32
ID: 12042726
I'd imagine so, but the mousemove messages are already being processed correctly by the callback function for the EXCEL7 window, I just can't select any cells once the hook is in place :-*
I might try it anyway when I get home to see if it throws up any new ideas, but it doesn't seem likely. Have you run the project yourself?
0
 
LVL 16

Expert Comment

by:nonubik
ID: 12042742
>Have you run the project yourself?

I'm afraid not, since I have *lots* of work to do .. :(
0
 
LVL 4

Author Comment

by:Colonel32
ID: 12043303
No worries, I know the feeling :)
0
 
LVL 4

Author Comment

by:Colonel32
ID: 12062251
Well I tried that, but the classname was nowhere to be found and SPY++ showed that the EXCEL7 window really was the client. Since Google suggests that noone else has achieved this either,  I'm prepared to accept that subclassing the EXCEL7 window interferes with the mouse messages. But I'd love to know why, especially since Excel must use the mousehover message itself to show the cell Comment window.
0
 
LVL 4

Author Comment

by:Colonel32
ID: 12076000
Is it at all possible that this MS article is in any way related?

http://support.microsoft.com/default.aspx?scid=kb;EN-US;238672

Please close this question moderator! :)
0
 
LVL 16

Expert Comment

by:nonubik
ID: 12076048
hmm... do you use VB? :)
0
 
LVL 4

Author Comment

by:Colonel32
ID: 12077879
I do, but not in this case - why?
0
 
LVL 16

Expert Comment

by:nonubik
ID: 12082224
because the link you posted refers to VB 6.0
0
 
LVL 4

Author Comment

by:Colonel32
ID: 12082523
It also refers to a documented glitch with usercontrols, which since Excel in an ActiveX server, I thought might be relevant.
My project demonstrates loss of mouse input after hooking - the article discusses the topic. Is that entirely circumstantial?
0
 
LVL 4

Accepted Solution

by:
Prestaul earned 500 total points
ID: 12124917
I appreciated the KB article.  It is part of what led to the solution in your next discussion:
http://www.experts-exchange.com/Programming/Programming_Languages/Visual_Basic/Q_21133291.html
0
 
LVL 4

Author Comment

by:Colonel32
ID: 12125025
Worth every point, Cheers! :)
0

Featured Post

Get HTML5 Certified

Want to be a web developer? You'll need to know HTML. Prepare for HTML5 certification by enrolling in July's Course of the Month! It's free for Premium Members, Team Accounts, and Qualified Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This tutorial is about how to put some of your C++ program's functionality into a standard DLL, and how to make working with the EXE and the DLL simple and seamless.   We'll be using Microsoft Visual Studio 2008 and we will cut out the noise; that i…
If you have ever found yourself doing a repetitive action with the mouse and keyboard, and if you have even a little programming experience, there is a good chance that you can use a text editor to whip together a sort of macro to automate the proce…
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…
In this video we outline the Physical Segments view of NetCrunch network monitor. By following this brief how-to video, you will be able to learn how NetCrunch visualizes your network, how granular is the information collected, as well as where to f…

623 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question