bls000

_OneBigToolTip

Jun 5th, 2020
1,679
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <GuiToolTip.au3>
  2. #include <WinAPI.au3>
  3. #include <GUIConstantsEx.au3>
  4. #include <FontConstants.au3>
  5. #include <SendMessage.au3>
  6. #include <WindowsConstants.au3>
  7.  
  8.  
  9.  
  10. #Region _OneBigToolTip($btt_MSG,$btt_Temp,$btt_Left,$btt_Top,$btt_Size=False)
  11. #comments-start
  12. ; #FUNCTION# ====================================================================================================================
  13. ; Name ..........: _OneBigToolTip()
  14. ; Description ...: Cria um ToolTip de tamanhos variados
  15. ; Syntax ........: _OneBigToolTip($btt_MSG, $btt_Temp,$fSize=20,$BigTTFont='Tahoma',$BigTTposX= @DesktopWidth / 2, $BigTTposY= @DesktopHeight / 2,$BigTTiW=1,$BigTTTransf=0)
  16. ; Parameters ....: $btt_MSG  mensagem a ser exibida
  17. ;~                 $btt_Temp tempo da mensagem(False: exibirá a mensagem no tempo minimo de 100ms)
  18. ;~                 $fSize tamanho da fonte(False: exibirá a fonte com tamanho minimo de 10pt)
  19. ;~                 $BigTTFont fonte a ser usada, Courier, Courier New,Arial,Comic Sans MS, Verdana, Times New Roman mais em(https://www.autoitscript.com/autoit3/docs/appendix/fonts.htm)
  20. ;~                 $BigTTposX= posição horizontal(False: exibirá a partir do centro da tela na horizontal)
  21. ;~                 $BigTTposY= posição vertical(False: exibirá a partir do centro da tela na vertical)
  22. ;~                 $BigTTiW força do riscado da fonte(numeros não válidos não mostrarão efeitos), 0=normal 1=fino 2=negrito
  23. ;~                 $BigTTTransf: Transformação da fonte 0= itálico 1= Subilinhado 2=Riscado 3=Itálico+Subilinhado, 4=Itálico+Riscado,5=Subilinhado+Riscado,6=Itálico+Riscado+Subilinhado
  24. ; Return values .: Sucesso    - mensagem sendo exibida
  25. ; Author ........: BrewManNH,marsfann,blisszero (visite Forum AutoIT Brasil - http://forum.autoitbrasil.com/), https://www.autoitscript.com/forum/topic/179865-how-to-change-tooitip-font-size/
  26. ; Example .......: _OneBigToolTip('Mostrando um tooltip grande',2500,50,'Comic Sans MS')
  27. ; Remarks .......: ainda não é funcinal em scripts com algumas guis
  28. #comments-end
  29. Func _OneBigToolTip($btt_MSG, $btt_Temp=100,$fSize=20,$BigTTFont='Tahoma',$BigTTposX= @DesktopWidth / 2, $BigTTposY= @DesktopHeight / 2,$BigTTiW=1,$BigTTTransf=0,$BigTTBallon=0)
  30. If $BigTTposX= False Then $BigTTposX= @DesktopWidth / 2
  31. If $BigTTposY= False Then $BigTTposY= @DesktopHeight / 2
  32. If $btt_Temp < 100 Then $btt_Temp = 100
  33. If $fSize < 10 Then $fSize = 10
  34. If $BigTTTransf > 6 Then
  35.    $BigTTTransf = 0
  36. ElseIf $BigTTTransf < 0 Then
  37.    $BigTTTransf = 0
  38. EndIf
  39.  
  40.  
  41. ;~ determina que tipo de tooltip será exibido
  42. Switch $BigTTBallon
  43.    Case 0
  44.       $BigTTBallon = '0x01' ;sempre acima das janelas padrão
  45.    Case 1
  46.       $BigTTBallon = '0x40' ;Balão
  47.    Case 2
  48.       $BigTTBallon = '0x80' ;'X' para fechar
  49. EndSwitch
  50.  
  51. ;~ cria o tooltip
  52. Local $hToolTip = _GUIToolTip_Create(0,$TTS_CLOSE), $hDC = _WinAPI_GetDC(0)
  53. _GUIToolTip_SetMaxTipWidth($hToolTip, @DesktopWidth - $BigTTposX)
  54. WinSetOnTop ($hToolTip, "", $WINDOWS_ONTOP)
  55.  
  56. ;~ cria a fonte a ser executada no tolltip
  57. Switch $BigTTiW
  58.    Case 2
  59.       $BigTTiWeight = 800
  60.    Case 1
  61.       $BigTTiWeight = 100
  62.    Case Else
  63.       $BigTTiWeight = 500
  64. EndSwitch
  65.  
  66. Switch $BigTTTransf
  67.    Case 0
  68.       Local $hTransf_i = True, $hTransf_u = False, $hTransf_s = False
  69.    Case 1
  70.       Local $hTransf_i = False, $hTransf_u = True, $hTransf_s = False
  71.    Case 2
  72.       Local $hTransf_i = False, $hTransf_u = True, $hTransf_s = False
  73.    Case 3
  74.       Local $hTransf_i = True, $hTransf_u = True, $hTransf_s = False
  75.    Case 4
  76.       Local $hTransf_i = True,  $hTransf_u = False, $hTransf_s = True
  77.    Case 5
  78.       Local $hTransf_i = False, $hTransf_u = True, $hTransf_s = True
  79.    Case 6
  80.       Local $hTransf_i = True, $hTransf_u = True, $hTransf_s = True
  81.   Case Else
  82.       Local $hTransf_i = False, $hTransf_u = False, $hTransf_s = False
  83.    EndSwitch
  84.  
  85. Local $hFont = _WinAPI_CreateFont($fSize, 0, 0, 0, $BigTTiWeight, $hTransf_i, $hTransf_u, $hTransf_s, $DEFAULT_CHARSET, $OUT_DEFAULT_PRECIS, $CLIP_DEFAULT_PRECIS, $DEFAULT_QUALITY, 0, $BigTTFont)
  86.  
  87. Local $hOldFont = _WinAPI_SelectObject($hDC, $hFont)
  88. _SendMessage($hToolTip, $WM_SETFONT, $hFont, True)
  89.  
  90. ;~ prioriza a exibição da fonte
  91. _GUIToolTip_AddTool($hToolTip, 0, $btt_MSG, 0, 0, 0, 0, 0, BitOR($TTF_TRACK, $TTF_ABSOLUTE))
  92.  
  93. ;~ posição do tooltip
  94. _GUIToolTip_TrackPosition($hToolTip, $BigTTposX, $BigTTposY)
  95.  
  96. ;~ verifica atividade
  97. _GUIToolTip_TrackActivate($hToolTip, True, 0, 0)
  98.  
  99. ;~ tempo de exibição
  100. Sleep($btt_Temp)
  101.  
  102. ;~ apaga o ToolTip
  103. _GUIToolTip_Destroy($hToolTip)
  104.  
  105. EndFunc
  106.  
  107. #EndRegion
RAW Paste Data