Scorciatoia per menu popup

di Anonimizzato18330 il
8 risposte
Buongiorno
E' possibile ottenere alla pressione di un pulsante in una form lo stesso risultato che si ha con DX Mouse / Filtri Testo / Contiene ?
In pratica 1 solo click invece di 3
Grazie

8 Risposte

  • Grazie per la risposta e la velocità
    Il fatto è che non mi serve sostituire il menu popup standard, che va bene cosi com'è
    Vorrei arrivare ad una delle sue voci premendo anche un unico pulsante
  • Secondo me non hai capito il suggerimento...
  • Può essere, anzi probabile
    Resta il fatto che se uso il codice proposto il nuovo popup si sostituisce a quello standard
    Cercherò di interpretare meglio il tuo suggerimento
  • Io ho capito quello che hai chiesto, ma è evidente che tu non conosci la dinamica gestionale degli Oggetti di Access.
    I menù Nativi, si chiamano BuiltIn, non sono interattivi, quindi non puoi gestirli se non usandoli, selezionando la sua voce.

    Se invece vuoi ottenere la medesima Funzione di una di quelle Opzioni, Premendo un Button o altra azione controllata, e non ti serve il Popup, è tutt'altra cosa, ma tu ad oggi NON HAI chiesto questo.

    Quindi se vuoi interagire con i Menù devi crearne uno PERSONALIZZATO, ed hai ricevuto il suggerimento, se invece vuoi replicare la funzionalità di una voce, spiegati meglio, spiega quale Funzionalità e vediamo come replicarla via Codice.
  • Come ripeto la funzionalità è DX Mouse / Filtri Testo / Contiene
    Se però non è possibile richiamarla direttamente (se ricordo bene con Access <=2003 esisteva qualcosa tipo Imposta Voce Menu anche se probabilmente non si riferiva ai menu "dx mouse" (builtin)) e senza compromettere (modificare) la modalità standard come hai chiaramente spiegato qui mi fermo.
    Ho idea di come fare ma ritengo inutile rifare qualcosa che già esiste e funziona perfettamente. Mi rassegno a cliccare 3 volte.
    Grazie
  • Chi sviluppa invece trova non appropriato, in quanto non gestibile, appoggiarsi alle cose fatte, anche perchè i Menù BuiltIn sono la prima cosa che uno sviluppatore disabilita... detto questo, l'Oggetto CommandBarButton espone il Metodo EXECUTE che in sostanza attiva l'esecuzione.
    Quindi devi riferirti al CommandBarButton di cui parli e lanciarlo:
    
    CommandBar("NomeBarra").Controls("NomeCommandBarControl").Execute
    Se non erro tuttavia prima devi renderlo Visibile... poi mandarlo in Esecuzione, il che lo rende assurdo, infatti questo metodo lo si usava per gli Item dei Menù non per i Popup.
    Per sapere cosa chiamare però dal momento che il Nome lo devi ricavare, devi ciclare l'Oggetto e stamparti in finestra immediata i Nomi...
    Ovviamente il percorso che ho esposto è per un ESEMPIO di Item di 1° Livello, ma se nel tuo caso si parla di SUBITEM o di SottoMenù, in quanto l'oggetto CommandBar è una Classe Gerarchica... la cosa si allunga...!

    Se sei così convinto sia una idea brillante e irrinunciabile... la strada è quella.
  • Beh....
    Una "soluzione" rozzissima e banalissima l'ho trovata

    Private Sub Comando5_Click()
    Screen.PreviousControl.SetFocus
    SendKeys "+{F10}"
    SendKeys "F"
    SendKeys "C"
    End Sub

    Certo, bisognerà complicarla leggermente, riconoscendo il tipo di campo
    Funziona infatti bene solo sui campi di tipo testo dove al 99,99% a me viene comodo "contiene"
    Per gli altri tipi la scelta non è cosi scontata
    Quindi mi va moooooolto bene così
Devi accedere o registrarti per scrivere nel forum
8 risposte