Creare una Commandbars in in una maschera

di il
6 risposte

Creare una Commandbars in in una maschera

Buonasera,

chiedo un suggerimento di come sia possibile e come fare, eventualmente, a creare una commandbar all'interno di una maschera per access tipo la sequenza: file Modifica Visualizza ecc...

Grazie.

6 Risposte

  • Re: Creare una Commandbars in in una maschera

    Scusa ma sei partito da voler fare una CommandBar con le API... ti è stato suggerito che era la strada errata, ti è stato fornito un codice a dimostrazione di come operare... Non ti sei degnato nemmeno di chiudere il discorso... ora cosa possiamo fare per te...?

    https://www.iprogrammatori.it/forum-programmazione/access/dichiarazioni-funzioni-menu-popup-bit-t39942.html
  • Re: Creare una Commandbars in in una maschera

    Avevi ragione di lasciar perdere le api e ho recepito il consiglio. Ho cercato nel frattempo di utilizzare quel codice come spunto per costruire un barra dei menu attraverso cui la visualizzazione non deve ottenersi cliccando sul tasto destro ma attraverso un evento del tipo movemouse da una label, e poi click col tasto sinistro per visualizzare i singoli menu, ma non ci sono riuscito. Quello che si può ottenere, ad esempio, con la barra dei menu di un browser per spiegarmi meglio.
    Grazie.
  • Re: Creare una Commandbars in in una maschera

    Questo perchè non hai letto bene quello che ti ho scritto... perchè oltre al codice ti ho suggerito anche il metodo per chiamare il Menù da codice, ovviamente dopo averlo costruito, da comando... che può essere l'evento MOuseMove o altro...!
  • Re: Creare una Commandbars in in una maschera

    Si certo ma il menu viene visualizzato soltanto con la pressione del tasto destro e pertanto cercavo il modo per ottenere lo stesso risultato con la pressione di altro tasto o con l'introduzione dell'evento mousemove.
  • Re: Creare una Commandbars in in una maschera

    eddy1973 ha scritto:


    Si certo ma il menu viene visualizzato soltanto con la pressione del tasto destro e pertanto cercavo il modo per ottenere lo stesso risultato con la pressione di altro tasto o con l'introduzione dell'evento mousemove.
    Può essere io sia poco chiaro... oppure no...

    @Alex ha scritto:


    Giuro che è la prima volta che con Access sento una roba simile...!!!!
    I Popup con Access si costruiscono con il VBA con poche righe di codice, al massimo serve 1 Chiamata API per recuperare la posizione del Cursore in modo da passarla al metodo ShowPopup... ma solo se lo devi pilotare da Comando.
    Che tradotto:
    https://docs.microsoft.com/en-us/office/vba/api/office.commandbar.showpopup

    Quindi se leggi la guida in merito, puoi usare ShowPopup da codice per invocare la CommandBar, metodo esposto dalla Classe Oggetto Commandbar specifica, devi passare X e Y per farlo apparire nel posto giusto, quindi, come detto nel 3D originale usi l'API GetCursorPos, che trovi documentata quì:
    https://support.microsoft.com/en-us/help/152969/visual-basic-procedure-to-get-set-cursor-position

    Chiaramente se non devi avere a riferimento i Pointer, X e Y le devi passare in base alla posizione che devi usare...!
    Le posizioni X/Y ricavate da GetCursorPos sono relative allo Schermo, devi scalarle alla Maschera su cui stai Puntando, sempre usando una chiamata API ScreenToClient

    Se invece devi fare il contrario, ovvero pilotare X/Y da codice, devi sapere dove far apparire il Menù e convertire con ClientToScreen le coordinate in Pixels relativi...

    Esempio se prendi a riferimento la mezzeria della Maschera su cui far apparire il Popup ricavi la mezzeria IN PIXEL e non in TWIPS e le passi a ClientToScreen affinchè vengano scalate allo Schermo...

    Quì trovi come adeguare le chiamate 32Bit a 64Bit.
    https://codekabinett.com/rdumps.php?Lang=2&targetDoc=windows-api-declaration-vba-64-bit
  • Re: Creare una Commandbars in in una maschera

    Ok grazie. utilizzerò le tue indicazioni.
Devi accedere o registrarti per scrivere nel forum
6 risposte