Forms |
3.74 Cambiare la forma del puntatore quando il mouse si sovrappone ad un controllo di una maschera |
Roberto |
Per i controlli che hanno tra le loro proprietà Indirizzo coll. ipertestuale, quindi per le etichette, i pulsanti di comando e i controlli immagine, far cambiare da freccia a "manina" (mano chiusa con l'indice puntato) la forma del puntatore del mouse quando lui si sovrappone ad essi è molto facile in quanto è sufficiente digitare uno spazio nella suddetta proprietà: al resto ci pensa a tutto Access. Se invece si vuole cambiare la forma del puntatore quando il mouse si sovrappone ad altri tipi di controlli oppure se si vuole usare una forma che sia diversa dalla "manina", per realizzare questo si può far ricorso alle API di Windows. Inserire nella cartella che contiene il database corrente i file di tipo .ICO e/o .CUR che contengono le immagini che volete assegnare al puntatore del mouse. Memorizzare in un modulo del databse il seguente codice VBA: Option Compare Database Option Explicit Declare Function LoadCursorFromFile Lib "user32" Alias _ "LoadCursorFromFileA" (ByVal lpFileName As String) As Long Declare Function SetCursor Lib "user32" _ (ByVal hCursor As Long) As Long Public Function PointM(strPathToCursor As String) Dim lngRet As Long lngRet = LoadCursorFromFile(strPathToCursor) lngRet = SetCursor(lngRet) End Function Public Function Cursore(Immagine As String) Dim MioCursore As String MioCursore = Left(CurrentDb.Name, Len(CurrentDb.Name) - _ Len(Dir(CurrentDb.Name))) & Immagine Call PointM(MioCursore) End FunctionSe si vuole che il puntatore del mouse cambi forma quando si sovrappone ad una casella di testo, se il file .ICO che avete sistemato nella cartella del database corrente e che contiene la forma del puntatore si chiama LENTE.ICO, nella proprietà Su mouse spostato della casella di testo scrivere: =Cursore("LENTE.ICO")Attenzione!! Non si deve generare una routine VBA a fronte dell'evento Su mouse spostato e scriverci dentro =Cursore("LENTE.ICO"), ma si deve scrivere quanto sopra a fianco della scritta dell'evento, al fine di richiamare direttamente la funzione Cursore() . Download: |