ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Problems with event handlers (https://www.excelbanter.com/excel-programming/282203-problems-event-handlers.html)

Italian Job

Problems with event handlers
 
Is it possible for me to test if a control does or doesnt have focus?

Some event handlers are called even when the associated event wasn't user
generated. For example, if a listbox.list is updated in another method, the
listbox_click handler is called.


Sub listbox_click()

some code

End sub


Can I test to see if the user clicked the control or if another method
called it, by
testing for focus? For example:



Sub listbox_click()

if gotfocus(listbox) then some code

End sub

The code inside the event handler is executing when I don't want it to. Is
there a way to stop this?




Chip Pearson

Problems with event handlers
 
The ActiveControl property of the form will return a reference to the
control with focus. For example,

MsgBox UserForm1.ActiveControl.Name


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com


"Italian Job" wrote in message
...
Is it possible for me to test if a control does or doesnt have focus?

Some event handlers are called even when the associated event wasn't user
generated. For example, if a listbox.list is updated in another method,

the
listbox_click handler is called.


Sub listbox_click()

some code

End sub


Can I test to see if the user clicked the control or if another method
called it, by
testing for focus? For example:



Sub listbox_click()

if gotfocus(listbox) then some code

End sub

The code inside the event handler is executing when I don't want it to.

Is
there a way to stop this?






Italian Job

Problems with event handlers
 
Yes. Thank you Chip. It works perfectly with single layer forms.

What about when I have a multipage form. It doesnt seem to work then. It
keeps returning "Frame 1". Is this a limitation?

"Chip Pearson" wrote in message
...
The ActiveControl property of the form will return a reference to the
control with focus. For example,

MsgBox UserForm1.ActiveControl.Name


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting, LLC
www.cpearson.com


"Italian Job" wrote in message
...
Is it possible for me to test if a control does or doesnt have focus?

Some event handlers are called even when the associated event wasn't

user
generated. For example, if a listbox.list is updated in another method,

the
listbox_click handler is called.


Sub listbox_click()

some code

End sub


Can I test to see if the user clicked the control or if another method
called it, by
testing for focus? For example:



Sub listbox_click()

if gotfocus(listbox) then some code

End sub

The code inside the event handler is executing when I don't want it to.

Is
there a way to stop this?









All times are GMT +1. The time now is 04:59 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com