Personalizzare i menu di scelta rapida |
Scritto da Cinzia Pagani |
Martedì 12 Giugno 2007 20:59 |
In questo articolo vediamo un modo per personalizzare i menu di scelta rapida in Access 2007. Vediamo un esempio in cui creiamo un semplice menu con i comandi Copia e Incolla. Aprite il modulo Visual Basic della maschera di cui volete personalizzare il menu e copiate ed incollate questo codice: Private Sub Form_Open(Cancel As Integer) 'Aggiungo a CommandBars un menu Set copyAndPasteMenu = CommandBars.Add( _ Name:="MenuPersonalizzato", Position:=msoBarPopup, _ Temporary:=True) 'Creo il Controllo Copy Set copy = copyAndPasteMenu.Controls.Add With copy .FaceId = 19 .Caption = "Copy the selection" .OnAction = "=MyCopy()" End With 'Creo il contollo Paste Set paste = copyAndPasteMenu.Controls.Add With paste .FaceId = 21 .Caption = "Paste from the Clipboard" .OnAction = "=MyPaste()" End With 'Imposto la proprietà shortCutMenuBar della maschera Me.ShortcutMenuBar = "MenuPersonalizzato" End Sub Private Sub Form_Close() 'Elimino il menu una volta chiusa la maschera CommandBars("MsnuPersonalizzato").Delete End Sub
ATTENZIONE In modalità "Dividi Maschera" le due funzioni MyCopy() e MyPaste() non vengono riconosciute, in questo caso dovreste definirle in un modulo globale a parte.
A causa di un bug nella versione attuale di Access 2007 questo meccanismo non funziona nelle sottomaschere, se infatti provate ad utilizzarlo vedrete che continuerà a comparire il menu di scelta rapida standard. E' stato rilasciato un hotfix che risolve questo problema, che può essere richiesto al servizio di supporto Microsoft, vedi questa KB per i dettagli : http://support.microsoft.com/kb/935875/en-us . In questo caso particolare (l'HotFix vale per tutte le lingue) potete richiederla usufruendo del servizio di richiesta Online disponibile qui: http://support.microsoft.com/?kbid=935195
Sistema operativo: win32 Applicazioni: Access 2007
|
Ultimo aggiornamento Giovedì 02 Luglio 2009 11:57 |