- Tham gia
- 30/5/06
- Bài viết
- 2,693
- Được thích
- 15,089
Chắc có lẽ Bình muốn là các Control trên Userform rồi phải không ?Bình đệ xem hình là biết liền nè
Chắc có lẽ Bình muốn là các Control trên Userform rồi phải không ?
Theo mình biết thì trên UserForm thì có, nhưng trên worksheet thì phải có 1 module riêng.Cảm ơn Sư Tỉ và anh Dom,
Đúng là em muốn nó hiện ra cho các buttons mà em tạo ra trên userform hoặc trên worksheet chứ trên toolbar thì có sẳn rồi còn gì.
---------------------
Vừa rồi tìm ra properties này cho control trên userform: ControlTipText
Nhưng trên worksheet thì vẫn chưa biết đường nào mà lần.
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
For Each objOLE In ActiveSheet.OLEObjects
If objOLE.Name = "TTL" Then objOLE.Delete
Next objOLE
Set objToolTipLbl = ActiveSheet.OLEObjects.Add(ClassType:="Forms.Label.1")
'Dinh dang cho ToolTip
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
'Tat toolTip sau 3 giay
Application.OnTime Now() + TimeValue("00:00:03"), "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
Private Sub CommandButton1_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 CommandButton1, "Cai nay la cai nut gi day ?"
End If
End Sub