Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
Jay Jay is offline
external usenet poster
 
Posts: 671
Default Enable ESC to canel UserForm

I'd like to enable the Escape key to cancel a userform. My form has a single
multipage control with two pages.

I have inserted a commandbutton with its Cancel property set to True and
have hidden the commandbutton by sending it behind the Multipage control.
Its Click event is:

Private Sub CommandButton1_Click()
Unload Me
Set frmInstructions = Nothing
End Sub

I encounter two problems with this: First, the Escape key unloads the form
only when the second page of the multipage is visible (I'd like Esc to cancel
the form at any point). Second, I can't select the button for editing after
it is hidden behind the multipage (need definitive selection method).

--
Thanks in Advance,
Jay
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 39
Default Enable ESC to canel UserForm

I recreated this just now, and it works just fine on my end on either
page of the multipage control.

As for selecting the control, you can select your UserForm and in the
drop down in the Properties pane, you will find all the controls on
your form.

theSquirrel


Jay wrote:
I'd like to enable the Escape key to cancel a userform. My form has a single
multipage control with two pages.

I have inserted a commandbutton with its Cancel property set to True and
have hidden the commandbutton by sending it behind the Multipage control.
Its Click event is:

Private Sub CommandButton1_Click()
Unload Me
Set frmInstructions = Nothing
End Sub

I encounter two problems with this: First, the Escape key unloads the form
only when the second page of the multipage is visible (I'd like Esc to cancel
the form at any point). Second, I can't select the button for editing after
it is hidden behind the multipage (need definitive selection method).

--
Thanks in Advance,
Jay


  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 39
Default Enable ESC to canel UserForm

I recreated this just now, and it works just fine on my end on either
page of the multipage control.

As for selecting the control, you can select your UserForm and in the
drop down in the Properties pane, you will find all the controls on
your form.

theSquirrel


Jay wrote:
I'd like to enable the Escape key to cancel a userform. My form has a single
multipage control with two pages.

I have inserted a commandbutton with its Cancel property set to True and
have hidden the commandbutton by sending it behind the Multipage control.
Its Click event is:

Private Sub CommandButton1_Click()
Unload Me
Set frmInstructions = Nothing
End Sub

I encounter two problems with this: First, the Escape key unloads the form
only when the second page of the multipage is visible (I'd like Esc to cancel
the form at any point). Second, I can't select the button for editing after
it is hidden behind the multipage (need definitive selection method).

--
Thanks in Advance,
Jay


  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 269
Default Enable ESC to canel UserForm

Jay, I've always put my Cancel button outside of any multi-page area.
Setting the Cancel property to true has always unloaded the form for me
in this situation. So, I would guess, putting the Cancel button on a
page in a multi-page form may circumvent the Esc key functionality, but
that's a guess. Someone else may have an idea. Since it's easy enough
to make the multi-page area of the form smaller than the entire form,
it seems questionable why you would put the form's Cancel button on a
multi-page rather than on the form background, to begin with. James
Jay wrote:
I'd like to enable the Escape key to cancel a userform. My form has a single
multipage control with two pages.

I have inserted a commandbutton with its Cancel property set to True and
have hidden the commandbutton by sending it behind the Multipage control.
Its Click event is:

Private Sub CommandButton1_Click()
Unload Me
Set frmInstructions = Nothing
End Sub

I encounter two problems with this: First, the Escape key unloads the form
only when the second page of the multipage is visible (I'd like Esc to cancel
the form at any point). Second, I can't select the button for editing after
it is hidden behind the multipage (need definitive selection method).

--
Thanks in Advance,
Jay


  #5   Report Post  
Posted to microsoft.public.excel.programming
Jay Jay is offline
external usenet poster
 
Posts: 671
Default Enable ESC to canel UserForm

Thanks Squirrel and James -

I keep forgetting how to re-select hidden controls; thanks for the reminder
Squirrel. And, if I put the cancel button behind each page of the multipage,
it works fine.

It just seems like you should be able to drop one button in behind the whole
multipage especially when there is no need for the user to see it. I'll use
your suggestion James and slide a very narrow button in below the multipage
so it just looks like a line.

Thanks for the help !
--
Jay


"Jay" wrote:

I'd like to enable the Escape key to cancel a userform. My form has a single
multipage control with two pages.

I have inserted a commandbutton with its Cancel property set to True and
have hidden the commandbutton by sending it behind the Multipage control.
Its Click event is:

Private Sub CommandButton1_Click()
Unload Me
Set frmInstructions = Nothing
End Sub

I encounter two problems with this: First, the Escape key unloads the form
only when the second page of the multipage is visible (I'd like Esc to cancel
the form at any point). Second, I can't select the button for editing after
it is hidden behind the multipage (need definitive selection method).

--
Thanks in Advance,
Jay



  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 269
Default Enable ESC to canel UserForm

Jay, I am surprised that just putting the Cancel button on the form
background behind the multipages and setting Cancel to True would not
fire for the Esc key, although I've never tried that. If you think
about it logically, Esc = Cancel, and if the Cancel button is not
visible, it's not available. That does seem to make some sense to me.
What you're really saying by Esc is "close this form and discard
changes". To press the point, maybe the Excel developers thought,
well, if Cancel is not visible, there is no active button for Esc to
refer to. Seems reasonable. And what if the user prefers to use the
mouse instead of a keystroke? Regards, James

Jay wrote:
Thanks Squirrel and James -

I keep forgetting how to re-select hidden controls; thanks for the reminder
Squirrel. And, if I put the cancel button behind each page of the multipage,
it works fine.

It just seems like you should be able to drop one button in behind the whole
multipage especially when there is no need for the user to see it. I'll use
your suggestion James and slide a very narrow button in below the multipage
so it just looks like a line.

Thanks for the help !
--
Jay


"Jay" wrote:

I'd like to enable the Escape key to cancel a userform. My form has a single
multipage control with two pages.

I have inserted a commandbutton with its Cancel property set to True and
have hidden the commandbutton by sending it behind the Multipage control.
Its Click event is:

Private Sub CommandButton1_Click()
Unload Me
Set frmInstructions = Nothing
End Sub

I encounter two problems with this: First, the Escape key unloads the form
only when the second page of the multipage is visible (I'd like Esc to cancel
the form at any point). Second, I can't select the button for editing after
it is hidden behind the multipage (need definitive selection method).

--
Thanks in Advance,
Jay


  #7   Report Post  
Posted to microsoft.public.excel.programming
Jay Jay is offline
external usenet poster
 
Posts: 671
Default Enable ESC to canel UserForm

Hi James-
Thanks for the followup on this one, because although we're close to the
solution, I think there is a simple and routine approach, but I just can't
hit the mark on this one. Maybe I'm missing something.

The issue starts with a desire to make the Escape key dismiss the form. As
far as I can tell, that is not automatic; rather, you must add a
commandbutton to the form, assign 'True' to its Cancel property, assign
'True' to its Enabled property, and 'True' to its Visible property. Then it
functions as desired (Escape fires its click event, which in turn, unloads
the form).

However, if you change its Visible property to 'False' to hide it from the
user, then Escape no longer functions to fire its Click event. So, the
work-around is to leave it Visible, but hide it under other stuff on the form.

The problem I haven't yet solved is that when I try to push it under a
multipage control, it kind of gets 'stuck' in between the pages of the
multipage (sort of). I can't see it when the form runs, but Escape only
unloads the form when Page1 of the multipage is showing (Page0 is the first
page).

I'll post as new information is discovered...

--
Jay


"Zone" wrote:

Jay, I am surprised that just putting the Cancel button on the form
background behind the multipages and setting Cancel to True would not
fire for the Esc key, although I've never tried that. If you think
about it logically, Esc = Cancel, and if the Cancel button is not
visible, it's not available. That does seem to make some sense to me.
What you're really saying by Esc is "close this form and discard
changes". To press the point, maybe the Excel developers thought,
well, if Cancel is not visible, there is no active button for Esc to
refer to. Seems reasonable. And what if the user prefers to use the
mouse instead of a keystroke? Regards, James

Jay wrote:
Thanks Squirrel and James -

I keep forgetting how to re-select hidden controls; thanks for the reminder
Squirrel. And, if I put the cancel button behind each page of the multipage,
it works fine.

It just seems like you should be able to drop one button in behind the whole
multipage especially when there is no need for the user to see it. I'll use
your suggestion James and slide a very narrow button in below the multipage
so it just looks like a line.

Thanks for the help !
--
Jay


"Jay" wrote:

I'd like to enable the Escape key to cancel a userform. My form has a single
multipage control with two pages.

I have inserted a commandbutton with its Cancel property set to True and
have hidden the commandbutton by sending it behind the Multipage control.
Its Click event is:

Private Sub CommandButton1_Click()
Unload Me
Set frmInstructions = Nothing
End Sub

I encounter two problems with this: First, the Escape key unloads the form
only when the second page of the multipage is visible (I'd like Esc to cancel
the form at any point). Second, I can't select the button for editing after
it is hidden behind the multipage (need definitive selection method).

--
Thanks in Advance,
Jay



  #8   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,600
Default Enable ESC to canel UserForm

The problem I haven't yet solved is that when I try to push it under a
multipage control, it kind of gets 'stuck' in between the pages of the
multipage (sort of). I can't see it when the form runs, but Escape only
unloads the form when Page1 of the multipage is showing (Page0 is the

first
page).


Don't put it on the Multipage just put it directly on the form. Set its Left
or Top property way to the right or below the form.
Include 'Unload me' in its click event. Also of course Cancel = true.
You could clean up if necessary in the QueryClose event.

Regards,
Peter T

"Jay" wrote in message
...
Hi James-
Thanks for the followup on this one, because although we're close to the
solution, I think there is a simple and routine approach, but I just can't
hit the mark on this one. Maybe I'm missing something.

The issue starts with a desire to make the Escape key dismiss the form.

As
far as I can tell, that is not automatic; rather, you must add a
commandbutton to the form, assign 'True' to its Cancel property, assign
'True' to its Enabled property, and 'True' to its Visible property. Then

it
functions as desired (Escape fires its click event, which in turn, unloads
the form).

However, if you change its Visible property to 'False' to hide it from the
user, then Escape no longer functions to fire its Click event. So, the
work-around is to leave it Visible, but hide it under other stuff on the

form.

The problem I haven't yet solved is that when I try to push it under a
multipage control, it kind of gets 'stuck' in between the pages of the
multipage (sort of). I can't see it when the form runs, but Escape only
unloads the form when Page1 of the multipage is showing (Page0 is the

first
page).

I'll post as new information is discovered...

--
Jay


"Zone" wrote:

Jay, I am surprised that just putting the Cancel button on the form
background behind the multipages and setting Cancel to True would not
fire for the Esc key, although I've never tried that. If you think
about it logically, Esc = Cancel, and if the Cancel button is not
visible, it's not available. That does seem to make some sense to me.
What you're really saying by Esc is "close this form and discard
changes". To press the point, maybe the Excel developers thought,
well, if Cancel is not visible, there is no active button for Esc to
refer to. Seems reasonable. And what if the user prefers to use the
mouse instead of a keystroke? Regards, James

Jay wrote:
Thanks Squirrel and James -

I keep forgetting how to re-select hidden controls; thanks for the

reminder
Squirrel. And, if I put the cancel button behind each page of the

multipage,
it works fine.

It just seems like you should be able to drop one button in behind the

whole
multipage especially when there is no need for the user to see it.

I'll use
your suggestion James and slide a very narrow button in below the

multipage
so it just looks like a line.

Thanks for the help !
--
Jay


"Jay" wrote:

I'd like to enable the Escape key to cancel a userform. My form has

a single
multipage control with two pages.

I have inserted a commandbutton with its Cancel property set to True

and
have hidden the commandbutton by sending it behind the Multipage

control.
Its Click event is:

Private Sub CommandButton1_Click()
Unload Me
Set frmInstructions = Nothing
End Sub

I encounter two problems with this: First, the Escape key unloads

the form
only when the second page of the multipage is visible (I'd like Esc

to cancel
the form at any point). Second, I can't select the button for

editing after
it is hidden behind the multipage (need definitive selection

method).

--
Thanks in Advance,
Jay





  #9   Report Post  
Posted to microsoft.public.excel.programming
Jay Jay is offline
external usenet poster
 
Posts: 671
Default Enable ESC to canel UserForm

Hold the presses, James. The answer was in your first response. Put the
button outside of the multipage control. In fact, don't bother hiding behind
any controls. It just gets 'sticky' and there is some unpredictable
interaction with the multipage control.

The solution to making a 'visible' button 'invisibile' - while still
allowing it to fire a click event when ESC is pushed - lies in first
oversizing the form grid during the design stage. You can put the Cancel
button at the bottom of the grid (or a healthy distance below the controls
you want the user to see). Then, drag the lower edge of the form up so that
the button is outside the lower boundary of what he user will see. The
button remains functional and the user can't see it. Then the user has the
option of using the mouse or pressing escape to cancel the form.

Thanks for your help. Hope to solve another one with you in the future.
---
Jay


"Jay" wrote:

I'd like to enable the Escape key to cancel a userform. My form has a single
multipage control with two pages.

I have inserted a commandbutton with its Cancel property set to True and
have hidden the commandbutton by sending it behind the Multipage control.
Its Click event is:

Private Sub CommandButton1_Click()
Unload Me
Set frmInstructions = Nothing
End Sub

I encounter two problems with this: First, the Escape key unloads the form
only when the second page of the multipage is visible (I'd like Esc to cancel
the form at any point). Second, I can't select the button for editing after
it is hidden behind the multipage (need definitive selection method).

--
Thanks in Advance,
Jay

  #10   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 269
Default Enable ESC to canel UserForm

Glad you got it figured out, Jay. The behavior is a little unexpected.
Cheers! James
Jay wrote:
Hold the presses, James. The answer was in your first response. Put the
button outside of the multipage control. In fact, don't bother hiding behind
any controls. It just gets 'sticky' and there is some unpredictable
interaction with the multipage control.

The solution to making a 'visible' button 'invisibile' - while still
allowing it to fire a click event when ESC is pushed - lies in first
oversizing the form grid during the design stage. You can put the Cancel
button at the bottom of the grid (or a healthy distance below the controls
you want the user to see). Then, drag the lower edge of the form up so that
the button is outside the lower boundary of what he user will see. The
button remains functional and the user can't see it. Then the user has the
option of using the mouse or pressing escape to cancel the form.

Thanks for your help. Hope to solve another one with you in the future.
---
Jay


"Jay" wrote:

I'd like to enable the Escape key to cancel a userform. My form has a single
multipage control with two pages.

I have inserted a commandbutton with its Cancel property set to True and
have hidden the commandbutton by sending it behind the Multipage control.
Its Click event is:

Private Sub CommandButton1_Click()
Unload Me
Set frmInstructions = Nothing
End Sub

I encounter two problems with this: First, the Escape key unloads the form
only when the second page of the multipage is visible (I'd like Esc to cancel
the form at any point). Second, I can't select the button for editing after
it is hidden behind the multipage (need definitive selection method).

--
Thanks in Advance,
Jay




Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
HOW TO DO ENABLE ENABLE THE QUERY PARAMETER BUTTON? CPW Excel Worksheet Functions 1 January 21st 10 06:31 PM
VBA select default Don't Enable / Enable macros Setting BEEJAY Excel Programming 1 June 29th 06 08:45 PM
Userform to enter values and shown in same userform in list helmekki[_104_] Excel Programming 0 November 19th 05 03:23 PM
Looping procedure calls userform; how to exit loop (via userform button)? KR Excel Programming 6 July 27th 05 12:57 PM
Activating userform and filling it with data form row where userform is activate Marthijn Beusekom via OfficeKB.com[_2_] Excel Programming 3 May 6th 05 05:44 PM


All times are GMT +1. The time now is 07:57 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"