Solved

Subclassing -Missing WM Messages

Posted on 2004-09-08
14
253 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
Revamp Your Training Process

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action.

 
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

Instantly Create Instructional Tutorials

Contextual Guidance at the moment of need helps your employees adopt to new software or processes instantly. Boost knowledge retention and employee engagement step-by-step with one easy solution.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Slow process to read Excel 15 164
Where did System.Data.Objects go? 2 72
Why use this lambda? 12 95
How Do I Widen a Column in a SharePoint 2013 List 2 64
This article describes a technique for converting RTF (Rich Text Format) data to HTML and provides C++ source that does it all in just a few lines of code. Although RTF is coming to be considered a "legacy" format, it is still in common use... po…
With most software applications trying to cater to multiple user needs nowadays, the focus is to make them as configurable as possible. For e.g., when creating Silverlight applications which will connect to WCF services, the service end point usuall…
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…

734 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