Combing the attributes of ControlTipText with StatusBarText in Access 2k

  • Thread starter Thread starter Ian Millward
  • Start date Start date
I

Ian Millward

Does anybody know if this is possible and, if so, how do I do it.



I want to display a little help message in the status bar or a label at the
foot of a form to help infrequent users but I don't want to irritate regular
users with a surfeit of info. If I use ControlTipText the message pops up
near the control and masks other controls on the form. Also, it pops up and
disappears too quickly for the slow witted and too often for regular users.



On the other hand, if I use ControlTipText, I get a message after the
control has received focus, in the case of a button, after it has been
pressed. You would, for example, get a message saying something like " You
have just deleted your entire record set" rather than "If you click this
button you will delete your entire record set"



In Delphi there is just such a method using the Application.OnHint event
which takes the equivalent of the ControlTipText and displays it as the
caption on a panel at the foot of a form. Is there a similar way of doing it
in Access?



Since I want something simple, I don't want to go to the extent of having a
help file to install with the database which would provide contextual help
or to have a "What's This" button.



Many thanks,



Ian Millward
 
Ian Millward said:
Does anybody know if this is possible and, if so, how do I do it.

I want to display a little help message in the status bar or a label
at the foot of a form to help infrequent users but I don't want to
irritate regular users with a surfeit of info. If I use
ControlTipText the message pops up near the control and masks other
controls on the form. Also, it pops up and disappears too quickly for
the slow witted and too often for regular users.

On the other hand, if I use ControlTipText, I get a message after the
control has received focus, in the case of a button, after it has been
pressed. You would, for example, get a message saying something like
" You have just deleted your entire record set" rather than "If you
click this button you will delete your entire record set"

In Delphi there is just such a method using the Application.OnHint
event which takes the equivalent of the ControlTipText and displays
it as the caption on a panel at the foot of a form. Is there a
similar way of doing it in Access?

Since I want something simple, I don't want to go to the extent of
having a help file to install with the database which would provide
contextual help or to have a "What's This" button.

Many thanks,

Ian Millward

I'm afraid I don't understand from your description exactly what it is
you want to have happen, as opposed to what you don't want to have
happen. Would you mind explaining again, somewhat differently?
 
Ian,

I think you are looking for the 'StatusBarText' property of
a form control to display a message on the status bar at the
bottom of the form. You will find that in the 'Other'
properties.

You can also get the same behaviour by filling out the
description field in the table design and this will carry
over for all forms.

--

Gary Miller
Gary Miller Computer Services
Sisters, OR
________________________
 
Ian said:
I want to display a little help message in the status bar or a label at the
foot of a form to help infrequent users but I don't want to irritate regular
users with a surfeit of info. If I use ControlTipText the message pops up
near the control and masks other controls on the form. Also, it pops up and
disappears too quickly for the slow witted and too often for regular users.

On the other hand, if I use ControlTipText, I get a message after the
control has received focus, in the case of a button, after it has been
pressed. You would, for example, get a message saying something like " You
have just deleted your entire record set" rather than "If you click this
button you will delete your entire record set"

It's a little messy, but you could use the MouseOver event
of each control to set the status bar text (using SysCmd
function) and the detail section's event to clear it.
 
Marsh,

<< It's a little messy, but you could use the MouseOver event
of each control to set the status bar text (using SysCmd
function) and the detail section's event to clear it.>>

That sounds exactly what I want to do. How do I find the MouseOver Event. I
can see the MouseMove and MouseDown/MouseUp events but no reference to
MouseOver. Is it a hidden function or something?
 
Ian Millward said:
Marsh,

<< It's a little messy, but you could use the MouseOver event
of each control to set the status bar text (using SysCmd
function) and the detail section's event to clear it.>>

That sounds exactly what I want to do. How do I find the MouseOver
Event. I can see the MouseMove and MouseDown/MouseUp events but no
reference to MouseOver. Is it a hidden function or something?

I believe Marsh misspoke; I think he meant the MouseMove event.
 
Ian said:
Marsh,

<< It's a little messy, but you could use the MouseOver event
of each control to set the status bar text (using SysCmd
function) and the detail section's event to clear it.>>

That sounds exactly what I want to do. How do I find the MouseOver Event. I
can see the MouseMove and MouseDown/MouseUp events but no reference to
MouseOver. Is it a hidden function or something?


Sorry about that, I meant the MouseMove event. To try to
make up for the foopah, here's a little code to demonstrate:


Private strPrevious As String

Public Function StatusHandler(strControl As String)
On Error Resume Next

If strPrevious <> strControl Then
SysCmd acSysCmdSetStatus, _
Me(strControl).StatusBarText
strPrevious = strControl
End If
End Function

Private Sub Detail_MouseMove(Button As Integer, _
Shift As Integer, x As Single, Y As Single)
SysCmd acSysCmdClearStatus
End Sub

Set the detail section's OnMouseMove property to
[Event Procedure]

Then set each control's Status Bar Text property to the
string you want to display when the mouse is over the
control. Instead of setting the control's OnMouseMove
property to [Event Procedure], set it to:
=StatusHandler("nameofthiscontrol")
 
Marsh,

<< Sorry about that, I meant the MouseMove event. To try to
make up for the foopah, here's a little code to demonstrate:>>

Many thanks,

Ian Millward
 
Back
Top