Criei um userform com várias figuras que direcionam para determinadas planilhas e quero que quando eu aponte para cada uma delas, a seta se torne aquela mão que aparece quando apontamos o mouse para algum link. O que acontece é que dos cursores disponíveis no campo "MousePointer", nenhum deles é o que eu quero. Já tentei também no campo "MouseIcon", criando inclusive a figura que quero, mas não consigo personalizar, pois ao localizar a imagem, o VBA me diz que a imagem é inválida. Alguém pode me ajudar dizendo se já existe no próprio VBA esse tipo de cursor, ou melhor, como utilizar a imagem que eu fiz? Obrigado.
Copyright © 2024 QUIZLIB.COM - All rights reserved.
Answers & Comments
Verified answer
Rafa, eu tb não achei a mãozinha, mas deve ter.
As "mãozinhas" são os aerolinks. veja aqui:
http://arai.wordpress.com/2006/07/14/windows-vista...
Mas tentando colocar um deles nas propriedades, o VBA reclama que o arquivo é inválido (e nas padrões não tem).
Acho que vai ter que fazer "na unha" com imagens.
O código abaixo ilustra o uso de cursores personalizados:
Private Sub ListBox1_Click()
If IsNull(ListBox1.Value) = False Then
CommandButton1.MousePointer = ListBox1.Value
If CommandButton1.MousePointer = _
fmMousePointerCustom Then
CommandButton1.MouseIcon = _
LoadPicture("c:\msvc20\cdk32\" _
& "samples\circ1\bix.ico")
End If
End If
End Sub
Private Sub CommandButton1_Click()
CommandButton2.MousePointer = CommandButton1.MousePointer
If CommandButton2.MousePointer = fmMousePointerCustom Then
CommandButton2.MouseIcon = CommandButton1.MouseIcon
End If
End Sub
Private Sub CommandButton2_Click()
CommandButton2.MousePointer = fmMousePointerCustom
CommandButton2.MouseIcon = LoadPicture("c:\msvc20\cdk32\samples\push\push.ico")
End Sub
Private Sub UserForm_Initialize()
'Load ListBox with MousePointer choices
ListBox1.ColumnCount = 2
ListBox1.AddItem "fmMousePointerDefault"
ListBox1.List(0, 1) = fmMousePointerDefault
ListBox1.AddItem "fmMousePointerArrow"
ListBox1.List(1, 1) = fmMousePointerArrow
ListBox1.AddItem "fmMousePointerCross"
ListBox1.List(2, 1) = fmMousePointerCross
ListBox1.AddItem "fmMousePointerIBeam"
ListBox1.List(3, 1) = fmMousePointerIBeam
ListBox1.AddItem "fmMousePointerSizeNESW"
ListBox1.List(4, 1) = fmMousePointerSizeNESW
ListBox1.AddItem "fmMousePointerSizeNS"
ListBox1.List(5, 1) = fmMousePointerSizeNS
ListBox1.AddItem "fmMousePointerSizeNWSE"
ListBox1.List(6, 1) = fmMousePointerSizeNWSE
ListBox1.AddItem "fmMousePointerSizeWE"
ListBox1.List(7, 1) = fmMousePointerSizeWE
ListBox1.AddItem "fmMousePointerUpArrow"
ListBox1.List(8, 1) = fmMousePointerUpArrow
ListBox1.AddItem "fmMousePointerHourglass"
ListBox1.List(9, 1) = fmMousePointerHourGlass
ListBox1.AddItem "fmMousePointerNoDrop"
ListBox1.List(10, 1) = fmMousePointerNoDrop
ListBox1.AddItem "fmMousePointerAppStarting"
ListBox1.List(11, 1) = fmMousePointerAppStarting
ListBox1.AddItem "fmMousePointerHelp"
ListBox1.List(12, 1) = fmMousePointerHelp
ListBox1.AddItem "fmMousePointerSizeAll"
ListBox1.List(13, 1) = fmMousePointerSizeAll
ListBox1.AddItem "fmMousePointerCustom"
ListBox1.List(14, 1) = fmMousePointerCustom
ListBox1.BoundColumn = 2
ListBox1.Value = fmMousePointerDefault
MsgBox "ListBox1.Value =" & ListBox1.Value & "."
CommandButton1.MousePointer = ListBox1.Value
End Sub