Subclassing UserForms !

G

Guest

Is it possible ?

I gave up trying to subclass the Excel App Window as it just seems to be
impossible....But how about subclassing an Ecxel/VBA UserForm ?

Does anyone have a working example ? I am very curious to see one .

Thanks in advance.

Jaafar.
 
G

Guest

Thanks Bob for the prompt reply.

The code you provided doesn't actually use SubClassing, it just uses a timer
to periodically update the Form Styles . What I would like is to trap the the
Windows Messages sent to the Form like the Mouse\Keyboard messages among
others.

So for example, this would allow me to left click the UserForm Title
Bar,trap this mouse event and display a standard MsgBox..... This is
something that can't be achieved by using the Form's native events.

Any more thoughts anyone ?

Thanks.

Jaafar.
 
R

Rody Meulman

Try http://tinyurl.com/e22fy




RAFAAJ2000 said:
Thanks Bob for the prompt reply.

The code you provided doesn't actually use SubClassing, it just uses a
timer
to periodically update the Form Styles . What I would like is to trap the
the
Windows Messages sent to the Form like the Mouse\Keyboard messages among
others.

So for example, this would allow me to left click the UserForm Title
Bar,trap this mouse event and display a standard MsgBox..... This is
something that can't be achieved by using the Form's native events.

Any more thoughts anyone ?

Thanks.

Jaafar.
 
G

Guest

Hi Rody,

That code was actually meant to subclass a WorkBook Window NOT a UserForm.
Furthermore,it doesn't actually trap the propper Message "WM_MOUSEMOVE" so
it is not the propper solution...was just a close attempt .

I am experimenting with some code at the moment but the Form keeps freezing
when it is subclassed.

I have been searching the Net as well as the most advanced Books on Excel
for some snippet code on how to Subclass Excel UserForms or Excel for that
matter but can't find anything at all.

Just imagine how much power & control one could get over our Excel Apps if
Subclassing was possible .

Any ideas anyone ?

Thanks.
 
K

keepITcool

check out SetWindowHook or SetWindowHookEx.

those allow you to monitor a subset of all messages
and you dont need to "passthru" the original message.

best bet is WH_MOUSE or WH_CBT


--
keepITcool
| www.XLsupport.com | keepITcool chello nl | amsterdam


RAFAAJ2000 wrote :
 
G

Guest

Thanks KeepItCool,

So Hooking should then work instead of Subclasssing...That sounds good .

I have to say I am not familiar with this thecnic and I find it more
difficult that Subclassiing but I'll learn how to use it if it gives results
in Excel.

If someone has an example, please, let me know about it.

I'll get back as soon as I find something interesting.

Thanks again everybody.
 
G

Guest

Thanks Ivan,

This is actually Subclassing in Excel Not Hooking and still it does WORK !!!
with no appearant adverse effect ! ....first time I see Subclassing in an
Excel environement without freezing or crashing the whole application
:)....Beautiful work Ivan.

I'll study the code and see if I can adapt the same concepts to different
scenarios.

Ivan, do you have any code that subclasses the XL application (or any of its
child objects) as opposed to a UserFom ?

Regards.

Jaafar.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top