Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Visualizzare shortcut menu in una form di Access con POPUP True e A scelta obbligatoria True

130 views
Skip to first unread message

Silvio Berruti

unread,
Mar 25, 2023, 1:39:00 PM3/25/23
to
Ciao a tutti, lo so che il titolo è un po' lungo... portate pazienza.
Partiamo dal presupposto che creo programmi con Access impostando in tutte le forms PopUp=True e Modal=True, riducendo ad icona la finestra principale di Access. Questo accorgimento rende l'applicazione più simile ad un programma sviluppato in ambiente non Access.
Ha un limite dovuto al fatto che non puoi premere il tasto destro del mouse per aprire il menu contestuale; questa caratteristica mi è sembrata interessante perché disabilitavo la possibilità di mettere la form in struttura senza dovermi creare menu personalizzati.
Ma ho trovato un'eccezione! Se clicco con il mouse sull'icona del programma presente nella barra delle applicazioni, ecco che ritornano i menu contestuali.
A questo punto ho bisogno che mi aiutiate a simulare da VBA il clic del mouse sull'icona nella taskbar, così metto i menu contestuali personalizzati.
Qualche suggerimento?
Grazie

BFS

unread,
Mar 27, 2023, 3:01:55 AM3/27/23
to
Il 25/03/2023 18:38, Silvio Berruti ha scritto:
> mi è sembrata interessante perché disabilitavo la possibilità di mettere la form in struttura

se l'obiettivo è questo sei fuori strada
per evitare che l'utilizzatore veda codice e struttura form/report/etc
devi fornirgli l'accde/mde del tuo programma

BFS


Silvio Berruti

unread,
Mar 27, 2023, 4:45:06 AM3/27/23
to
Sì, conosco ed utilizzo MDE (a suo tempo), ACCDE e ACCDR.
In questo caso deve rimanere ACCDB per altre esigenze che non sto a spiegare adesso.
Hai soluzioni da darmi?
Nel frattempo, ho trovato che, se utilizzo WM_apiShowWindow(hwnd, WM_SW_MINIMIZE) ripristino la situazione disabilitando nuovamente l'utilizzo del menu contestuale.
In realtà, mi è venuta voglia di far utilizzare al cliente il menu contestuale e, quindi, mi piacerebbe lasciarlo sempre a disposizione, ma non posso dirgli di andare a cliccare sull'icona del programma.... devo trovare un altro sistema.
Idee?

Karl Donaubauer

unread,
Mar 27, 2023, 5:48:27 AM3/27/23
to
Salve,

Silvio Berruti:
> ...
> ...

Non capisco bene la situazione/descrizione, cioè perché non hai i menu
contestuali. Non dovrebbe essere a causa di popup e modal.

Pertanto, non so se richiamare i menu contestuali tramite VBA possa
aiutarti. In tal caso, esistono almeno due metodi: quello semplicissimo
per richiamare i menu integrati e quello anche non complesso per i menu
definiti dall'utente.

Li mostro entrambi nel mio demo db da https://www.isladogs.co.uk/aeu-11/
nel no. 14 "Context menus without right mouse".

Puoi vederlo anche nel video della presentazione:
https://www.youtube.com/watch?v=k9jgkzG2IaU&t=2637s

--
Ciao
Karl
*********
Access Bugs: https://AccessForever.org
Access News: https://youtu.be/XMOHBSudo-U
Access DevCon: http://AccessDevCon.com
Access FAQ: https://www.donkarl.com/it

Silvio Berruti

unread,
Mar 27, 2023, 8:45:12 AM3/27/23
to
Grazie Karl, vado a vederlo subito.

Silvio Berruti

unread,
Mar 28, 2023, 10:26:46 AM3/28/23
to
Buongiorno Karl,
approfondendo un po', ho capito quale comando crea questa situazione (vedi sopra).
Utilizzo le routines Window Manipulation Examples di Peter's Software ed, in particolare, la xg_MinimizeWindow "Access" crea, come conseguenza, la disabilitazione del tasto destro del mouse e dei menu contestuali.
Basta utilizzare la xg_RestoreWindow "Access" e i menu contestuali sono nuovamente presenti.
Però ecco riapparire la finestra principale di Access, anche se la riduco al 5% tramite xg_SizeWindowByPct "Access", 5, 5
Sembrerebbe quindi che debba fare una scelta: o visualizzo i menu contestuali e la finestra di Access o nascondo entrambe.
Oppure mi serve qualcuno che mi dica come fare diversamente...

Karl Donaubauer

unread,
Mar 28, 2023, 10:54:10 AM3/28/23
to
Salve Silvio,

Silvio Berruti:
>...
> approfondendo un po', ho capito quale comando crea questa situazione (vedi sopra).
> Utilizzo le routines Window Manipulation Examples di Peter's Software ed, in particolare, la xg_MinimizeWindow "Access" crea, come conseguenza, la disabilitazione del tasto destro del mouse e dei menu contestuali.
> Basta utilizzare la xg_RestoreWindow "Access" e i menu contestuali sono nuovamente presenti.
> Però ecco riapparire la finestra principale di Access, anche se la riduco al 5% tramite xg_SizeWindowByPct "Access", 5, 5
> Sembrerebbe quindi che debba fare una scelta: o visualizzo i menu contestuali e la finestra di Access o nascondo entrambe.
> Oppure mi serve qualcuno che mi dica come fare diversamente...

Se non hai bisogno della finestra principale ma vuoi liberartene, puoi
nasconderla completamente, p.e. con https://www.donkarl.com/it?FAQ1.11
Questo non dovrebbe influire sui menu contestuali.

Silvio Berruti

unread,
Mar 29, 2023, 2:23:23 AM3/29/23
to
Grazie Karl, come sempre hai una risposta.
Provo e ti dico il comportamento.

Silvio Berruti

unread,
Mar 29, 2023, 1:24:00 PM3/29/23
to
Ultimo aggiornamento nell'attesa di trovare un modo per visualizzare sempre i menu contestuali.
Al momento ho deciso di disattivare sempre i menu contestuali e, per farlo, è bastato andare a togliere il flag di Menu di scelta rapida predefiniti, presente in Opzioni, Database corrente.
Semplice, no?
Bastava pensarci...
Grazie comunque.
0 new messages