Solved

Subclassing -Missing WM Messages

Posted on 2004-09-08
14
239 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
  • 8
  • 5
14 Comments
 
LVL 16

Expert Comment

by:nonubik
Comment Utility
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
Comment Utility
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
Comment Utility
Can you get from the Excel sheet subclassed to the "F3 Server.." hwnd? In order to subclass it, too
0
 
LVL 4

Author Comment

by:Colonel32
Comment Utility
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
Comment Utility
>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
Comment Utility
No worries, I know the feeling :)
0
 
LVL 4

Author Comment

by:Colonel32
Comment Utility
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
Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

 
LVL 4

Author Comment

by:Colonel32
Comment Utility
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
Comment Utility
hmm... do you use VB? :)
0
 
LVL 4

Author Comment

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

Expert Comment

by:nonubik
Comment Utility
because the link you posted refers to VB 6.0
0
 
LVL 4

Author Comment

by:Colonel32
Comment Utility
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
Comment Utility
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
Comment Utility
Worth every point, Cheers! :)
0

Featured Post

Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

Join & Write a Comment

This article shows how to make a Windows 7 gadget that accepts files dropped from the Windows Explorer.  It also illustrates how to give your gadget a non-rectangular shape and how to add some nifty visual effects to text displayed in a your gadget.…
Entering time in Microsoft Access can be difficult. An input mask often bothers users more than helping them and won't catch all typing errors. This article shows how to create a textbox for 24-hour time input with full validation politely catching …
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 seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…

728 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

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now