Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 4
Default Tooltip text over a label

Is it possible to display a tool tip-text type label as the mouse
hovers over a label on an excel sheet. I can get a msgbox to come up
using Mousemove or click, but that requires a user interaction to
remove it. I would like a simple tiptext type message to appear as one
hovered over it and disappear as one moved on. Labels don't seem to
have this property.
My problem is a small label, which sometimes holds a long address and
I would like to be able to display it all as one hovers over it.
Thanks in advance for any help!
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,272
Default Tooltip text over a label

If we are talking control toolbar labels, you can try this

To do this, put the following code in a standard code module (making it
available to the whole workbook).

'------------- bas module ------------------------
Option Explicit

Declare Function GetSystemMetrics Lib "user32" ( _
ByVal nIndex As Long) As Long

Declare Function GetSysColor Lib "user32" ( _
ByVal nIndex As Long) As Long


Public Function CreateToolTipLabel(objHostOLE As Object, _
sTTLText As String) As Boolean
Dim objToolTipLbl As OLEObject
Dim objOLE As OLEObject

Const SM_CXSCREEN = 0
Const COLOR_INFOTEXT = 23
Const COLOR_INFOBK = 24
Const COLOR_WINDOWFRAME = 6

Application.ScreenUpdating = False 'just while label is created and
formatted

For Each objOLE In ActiveSheet.OLEObjects
If objOLE.Name = "TTL" Then objOLE.Delete 'only one can exist at a
time
Next objOLE

'create a label control...
Set objToolTipLbl = ActiveSheet.OLEObjects.Add(ClassType:="Forms.Label .1")

'...and format it to look as a ToolTipWindow
With objToolTipLbl
.Top = objHostOLE.Top + objHostOLE.Height - 10
.Left = objHostOLE.Left + objHostOLE.Width - 10
.Object.Caption = sTTLText
.Object.Font.Size = 8
.Object.BackColor = GetSysColor(COLOR_INFOBK)
.Object.BackStyle = 1
.Object.BorderColor = GetSysColor(COLOR_WINDOWFRAME)
.Object.BorderStyle = 1
.Object.ForeColor = GetSysColor(COLOR_INFOTEXT)
.Object.TextAlign = 1
.Object.AutoSize = False
.Width = GetSystemMetrics(SM_CXSCREEN)
.Object.AutoSize = True
.Width = .Width + 2
.Height = .Height + 2
.Name = "TTL"
End With
DoEvents
Application.ScreenUpdating = True

'delete the tooltip window after 5 secs
Application.OnTime Now() + TimeValue("00:00:05"), "DeleteToolTipLabels"

End Function

Public Sub DeleteToolTipLabels()
Dim objToolTipLbl As OLEObject
For Each objToolTipLbl In ActiveSheet.OLEObjects
If objToolTipLbl.Name = "TTL" Then objToolTipLbl.Delete
Next objToolTipLbl
End Sub


'------------end of bas module -------------

Then in the code module for the sheet that has the control, add some
mousedown event code. To get to this module, right-click on the sheet name
tab, and select code (or double-click on the sheet name from within the VB
IDE). Here is an example of how to call it, assuming that the label
is called Label1

Private Sub Label1_MouseMove(ByVal Button As Integer, _
ByVal Shift As Integer, _
ByVal X As Single, _
ByVal Y As Single)
Dim objTTL As OLEObject
Dim fTTL As Boolean

For Each objTTL In ActiveSheet.OLEObjects
fTTL = objTTL.Name = "TTL"
Next objTTL

If Not fTTL Then
CreateToolTipLabel Label1, "ToolTip Label"
End If

End Sub

--

HTH

RP
(remove nothere from the email address if mailing direct)


"John Robinson" wrote in message
om...
Is it possible to display a tool tip-text type label as the mouse
hovers over a label on an excel sheet. I can get a msgbox to come up
using Mousemove or click, but that requires a user interaction to
remove it. I would like a simple tiptext type message to appear as one
hovered over it and disappear as one moved on. Labels don't seem to
have this property.
My problem is a small label, which sometimes holds a long address and
I would like to be able to display it all as one hovers over it.
Thanks in advance for any help!



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 4
Default Tooltip text over a label


Thank you for replying. I have tried your suggestion but it does not
work. I am trying to get it to work hovering over a label in a
worksheet. It fell over at the adding a form line and wouldn't even
allow debug!
John Robinson


*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3,290
Default Tooltip text over a label

John,

This is a little simpler, it's not perfect, but it may
meet your needs.
Using an ActiveX label from the Control Toolbox,
set Wordwrap to False and Autosize to False.
The number "100" in the code is the width of the label.
Adjust to the actual width of your label.
Add the code to the Worksheet module.

'--------------------------------------------
Private Sub Label1_MouseMove(ByVal Button As Integer, _
ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If X 100 Then
Label1.AutoSize = False
Label1.Width = 100
Else
Label1.AutoSize = True
End If
End Sub
'-----------------------------------------------

Regards,
Jim Cone
San Francisco, USA


"John Robinson" wrote in message
om...
Is it possible to display a tool tip-text type label as the mouse
hovers over a label on an excel sheet. I can get a msgbox to come up
using Mousemove or click, but that requires a user interaction to
remove it. I would like a simple tiptext type message to appear as one
hovered over it and disappear as one moved on. Labels don't seem to
have this property.
My problem is a small label, which sometimes holds a long address and
I would like to be able to display it all as one hovers over it.
Thanks in advance for any help!

  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,272
Default Tooltip text over a label

Probably just wrap-around.Change these lines

Application.ScreenUpdating = False 'just while label is created and
formatted

For Each objOLE In ActiveSheet.OLEObjects
If objOLE.Name = "TTL" Then objOLE.Delete 'only one can exist at a
time
Next objOLE

to

Application.ScreenUpdating = False 'just while label is created
'and formatted

For Each objOLE In ActiveSheet.OLEObjects
If objOLE.Name = "TTL" Then objOLE.Delete 'only one can exist
'at a time
Next objOLE


--

HTH

RP
(remove nothere from the email address if mailing direct)


"John Robinson" wrote in message
...

Thank you for replying. I have tried your suggestion but it does not
work. I am trying to get it to work hovering over a label in a
worksheet. It fell over at the adding a form line and wouldn't even
allow debug!
John Robinson


*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!



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
Changing the "tooltip" text in an excel chart [email protected] Charts and Charting in Excel 2 April 4th 23 02:23 PM
Change the tooltip text for a datapoint Hayeso Charts and Charting in Excel 4 December 16th 05 01:33 PM
tooltip text Duraiswamy Lingappan Links and Linking in Excel 1 April 7th 05 07:51 AM
How to add Tooltip text to Treeview Duraiswamy Lingappan Excel Programming 0 August 6th 04 12:06 PM
add text to label (label from forms toolbar) Rob Bovey Excel Programming 0 September 5th 03 09:46 PM


All times are GMT +1. The time now is 12:58 AM.

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

About Us

"It's about Microsoft Excel"