Ciao !
Di solito in questi casi utilizzo una label con Forecolor = vbBlue.
Al mousemove modifico il forecolor per poi ripristinarlo quando il mouse si sposta nuovamente sul form o il contenitore che contiene la label. Poi ovviamente gestisco il clik.
Al click potresti richiamare questa semplice funzione per lanciare il file con il programma a cui è associato:
Ciao ciaocodice:Option Explicit Private Declare Function ShellExecute Lib "shell32.dll" _ Alias "ShellExecuteA" (ByVal hWnd As Long _ , ByVal lpOperation As String, ByVal lpFile As String _ , ByVal lpParameters As String, ByVal lpDirectory As String _ , ByVal nShowCmd As Long) As Long ' Possibili valori di ritorno di ShellExecute Private Const SE_ERR_NOASSOC = 31 Private Const SE_ERR_ACCESSDENIED As Long = 5 Private Const SE_ERR_FNF As Long = 2 ' Possibili valori di ritorno di ShellExecute Enum ShellFileExecuteResultConstants AccessDenied = SE_ERR_ACCESSDENIED NoAssociation = SE_ERR_NOASSOC FileNotFound = SE_ERR_FNF NoErrors = 42 UnhandledError = 0 End Enum ' Function ExecuteFile(ByVal FileName As String _ , Optional Command As String = "open", Optional Parameters As String _ , Optional WindowStyle As VbAppWinStyle = vbNormalFocus _ , Optional OwnerWnd As Long) As ShellFileExecuteResultConstants ' Esegue un comando su un file Dim lRetVal As Long ' Controlla comando e parametri Command = Trim$(Command) If Command = "" Then Command = "open" Parameters = Trim$(Parameters) ' esegue lRetVal = ShellExecute(OwnerWnd, Command, FileName, Parameters, "", WindowStyle) ' return Select Case lRetVal Case AccessDenied, NoAssociation, FileNotFound, NoErrors ExecuteFile = lRetVal Case Else ' altro errore non gestito ExecuteFile = UnhandledError End Select End Function
Simo

Rispondi quotando