Solved

Subclassing -Missing WM Messages

Posted on 2004-09-08
14
248 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
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
Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

 
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

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

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…
This article shows how to make a Windows 7 gadget that extends its U/I with a flyout panel -- a window that pops out next to the gadget.  The example gadget shows several additional techniques:  How to automatically resize a gadget or flyout panel t…
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…

837 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