Discussione:
Cambiare l'icona del mouse
(troppo vecchio per rispondere)
Lp
2006-08-15 14:11:41 UTC
Permalink
Come faccio a cambiare l'icona del mouse quando il puntatore si trova
a passare su un certo controllo.
In Visual Basic faccio:
object.MousePointer [= value]
Ma in Access non mi pare che esista la proprietà MousePointer.
Grazie
Luigi
Alessandro Baraldi
2006-08-15 14:18:59 UTC
Permalink
Post by Lp
Come faccio a cambiare l'icona del mouse quando il puntatore si trova
a passare su un certo controllo.
object.MousePointer [= value]
Ma in Access non mi pare che esista la proprietà MousePointer.
Grazie
Luigi
Devo ancora prenderti le misure, ma se capisco che non usi l'Help e che
ti torna comodo chiedere le prossime volte, Skippo....

DIRETTAMENTE DALL'HELP

È possibile utilizzare la proprietà MousePointer con l'oggetto Screen
per specificare o determinare il tipo di puntatore del mouse
visualizzato.

Impostazione

L'impostazione per la proprietà MousePointer è un valore Intero che
rappresenta uno dei puntatori riportati di seguito:

Impostazione Descrizione
0 Impostazione predefinita. La forma è determinata da Microsoft
Access.
1 Selezione normale (Freccia)
3 Selezione testo (Cursore)
7 Ridimensionamento verticale (Ridim. N, S)
9 Ridimensionamento orizzontale (Ridim. E, O)
11 Occupato (Clessidra)
Nota Se si imposta la proprietà MousePointer a un valore intero
diverso da quelli sopra riportati, questa verrà impostata a 0.

È possibile impostare la proprietà MousePointer solo utilizzando
Visual Basic.

Osservazioni

La proprietà MousePointer influisce sull'aspetto del puntatore del
mouse per l'intero schermo. Alcuni controlli personalizzati contengono
una proprietà MousePointer che, se impostata, specifica come il
puntatore del mouse viene visualizzato quando è posizionato sul
controllo.
È possibile impostare la proprietà MousePointer a 11 per visualizzare
una clessidra quando l'applicazione è occupata. È inoltre possibile
leggere la proprietà MousePointer per determinare cosa viene
visualizzato. Ciò può risultare utile se si desidera evitare che un
utente faccia clic su un pulsante di comando quando il puntatore del
mouse viene visualizzato come clessidra.

L'utilizzo dell'impostazione MousePointer a 11 equivale far passare
l'argomento True (-1) al metodo Hourglass dell'oggetto DoCmd.
Viceversa, il passaggio dell'argomento True al metodo Hourglass imposta
la proprietà MousePointer a 11.

@Alex
Alessandro Baraldi
2006-08-15 14:22:29 UTC
Permalink
Alessandro Baraldi ha scritto:

[CUT]
Post by Alessandro Baraldi
Devo ancora prenderti le misure, ma se capisco che non usi l'Help e che
ti torna comodo chiedere le prossime volte, Skippo....
[CUT]


Se invece vuoi assegnargli un'immagine non predefinita scaricati questo
Demo:

http://www.alessandrobaraldi.it/DettaglioFaq.asp?IdFAQ=18

@Alex
Lp
2006-08-15 14:45:20 UTC
Permalink
Post by Alessandro Baraldi
Devo ancora prenderti le misure, ma se capisco che non usi l'Help e che
ti torna comodo chiedere le prossime volte, Skippo....
CUT
@Alex
Alessandro scusami, hai ragione!
Devo dire però che l'Help di Access non mi piace molto. In Visual
Basic c'è l'MSDN che è una favola.
Ho programmato in passato in VB6 e poche settimane fa ho "scoperto" il
VBA di Access ma non mi sono ancora abituato all'ambiente.
Comunque la prossima volta cercherò di postare solo quando sono in
estrema difficoltà e, in ogni caso, non ti sentire obbligato a
rispondermi.
Ciao e grazie
Luigi
Lp
2006-08-15 14:48:55 UTC
Permalink
Chi la fa, l'aspetti...

http://tinyurl.com/jr6fq

--------------------------------
Inviato via http://arianna.libero.it/usenet/
Lp
2006-08-15 16:43:36 UTC
Permalink
Post by Lp
Chi la fa, l'aspetti...
http://tinyurl.com/jr6fq
--------------------------------
Inviato via http://arianna.libero.it/usenet/
Qui c'è qualcuno che si diverte a fare degli scherzi!
Non sono io quello che ha postato quanto scritto sopra anche se
l'indirizzo di posta è il mio.
Qualcuno mi spiega cosa significa?
Alessandro Baraldi
2006-08-15 16:48:29 UTC
Permalink
Post by Lp
Post by Lp
Chi la fa, l'aspetti...
http://tinyurl.com/jr6fq
--------------------------------
Inviato via http://arianna.libero.it/usenet/
Qui c'è qualcuno che si diverte a fare degli scherzi!
Non sono io quello che ha postato quanto scritto sopra anche se
l'indirizzo di posta è il mio.
Qualcuno mi spiega cosa significa?
E' ferragosto.....!

Boh... invece di usare l'Help solo usa il Visualizzatore Oggetti,
quello è molto
più funzionale, in Access97 c'era un Help che poi non hanno più
rifatto, io fortunatamente ho ancora installato A97.....!

@Alex
Lp
2006-08-15 18:40:42 UTC
Permalink
Post by Alessandro Baraldi
... invece di usare l'Help solo usa il Visualizzatore Oggetti,
quello è molto
più funzionale, in Access97 c'era un Help che poi non hanno più
rifatto, io fortunatamente ho ancora installato A97.....!
@Alex
A parte l'Help cosa ti spinge a non upgradarti alle nuove versioni?
Luigi
Alessandro Baraldi
2006-08-15 18:48:40 UTC
Permalink
Post by Lp
Post by Alessandro Baraldi
... invece di usare l'Help solo usa il Visualizzatore Oggetti,
quello è molto
più funzionale, in Access97 c'era un Help che poi non hanno più
rifatto, io fortunatamente ho ancora installato A97.....!
@Alex
A parte l'Help cosa ti spinge a non upgradarti alle nuove versioni?
Luigi
Come no, ho installato tutte le versioni (A2000 a parte che trovo il
meno riuscito).

A97 a mio avviso è la versione più stabile, è quella con la quale ho
lavorato maggiormente e di cui ne conosco meglio i difetti, devo dire
che mi trovo altrettanto bene con A2002 o XP che ultimamente ha
rimpiazzato A97 nei miei giochetti....!

Sviluppo un pò con tutto tranne .NET, ma arriverà anche quel
momento...!

@Alex
Lp
2006-08-15 20:46:16 UTC
Permalink
Post by Alessandro Baraldi
Come no, ho installato tutte le versioni (A2000 a parte che trovo il
meno riuscito).
CUT
@Alex
Io conosco Access fin dalle prime versioni. Però non sono in grado di
fare dei paragoni perchè fino a qualche settimana fa l'ho sempre
utilizzato in maniera molto elementare. Semplici database senza troppe
pretese.
Adesso come ti dicevo ho scoperto il VBA e devo dire che sto
rivalutando molto Access in quanto, unito alla programmazione, offre
delle potenzialità che non sospettavo.
Luigi
Alessandro Baraldi
2006-08-15 21:15:35 UTC
Permalink
Post by Lp
Post by Alessandro Baraldi
Come no, ho installato tutte le versioni (A2000 a parte che trovo il
meno riuscito).
CUT
@Alex
Io conosco Access fin dalle prime versioni. Però non sono in grado di
fare dei paragoni perchè fino a qualche settimana fa l'ho sempre
utilizzato in maniera molto elementare. Semplici database senza troppe
pretese.
Adesso come ti dicevo ho scoperto il VBA e devo dire che sto
rivalutando molto Access in quanto, unito alla programmazione, offre
delle potenzialità che non sospettavo.
Luigi
Beh si il VBA delle nuove versioni ha l'IDE di VB6(quasi) pertanto è
molto sandard.
Ci sono cose che non si possono ottenere con Access, ma direi che in
linea di massima è possibile far fare ad un gestionale il suo lavoro,
l'importante è evitare di scambiare Access per un Tavolo da gioco, le
limitazioni in VBA sono principalmente grafiche, ma Access nasce non
per la grafica, quanto per la gestione dei dati....!

@Alex
Lp
2006-08-15 22:59:30 UTC
Permalink
Post by Alessandro Baraldi
Post by Lp
Post by Alessandro Baraldi
Come no, ho installato tutte le versioni (A2000 a parte che trovo il
meno riuscito).
CUT
@Alex
Io conosco Access fin dalle prime versioni. Però non sono in grado di
fare dei paragoni perchè fino a qualche settimana fa l'ho sempre
utilizzato in maniera molto elementare. Semplici database senza troppe
pretese.
Adesso come ti dicevo ho scoperto il VBA e devo dire che sto
rivalutando molto Access in quanto, unito alla programmazione, offre
delle potenzialità che non sospettavo.
Luigi
Beh si il VBA delle nuove versioni ha l'IDE di VB6(quasi) pertanto è
molto sandard.
Ci sono cose che non si possono ottenere con Access, ma direi che in
linea di massima è possibile far fare ad un gestionale il suo lavoro,
l'importante è evitare di scambiare Access per un Tavolo da gioco, le
limitazioni in VBA sono principalmente grafiche, ma Access nasce non
per la grafica, quanto per la gestione dei dati....!
@Alex
Rimanendo nel tema originale di questo thread ho ancora un piccolo
problema con l'icona del mouse.
Sono riuscito a far cambiare icona al puntatore quando questo passa su
un determinato controllo. Il problema ora è come fare a farlo
ritornare allo stato originario quando lascia il controllo.
Mi spiego meglio.
Per far cambiare l'icona del mouse quando passa su un determinato
controllo, sfrutto l'evento MouseMove del controllo e all'interno di
questo metto l'istruzione
Screen.MousePointer=miovalore
In tal modo quando il mouse passa sul controllo il puntatore cambia
icona e resta con questa icona anche quando il mouse lascia il
controllo.
Non riesco a capire quale evento potrei sfruttare per far ritornare
l'icona al suo valore originale.
Grazie
Luigi
Alessandro Baraldi
2006-08-16 10:59:22 UTC
Permalink
Lp ha scritto:

[CUT]
Post by Lp
Rimanendo nel tema originale di questo thread ho ancora un piccolo
problema con l'icona del mouse.
Sono riuscito a far cambiare icona al puntatore quando questo passa su
un determinato controllo. Il problema ora è come fare a farlo
ritornare allo stato originario quando lascia il controllo.
Mi spiego meglio.
Per far cambiare l'icona del mouse quando passa su un determinato
controllo, sfrutto l'evento MouseMove del controllo e all'interno di
questo metto l'istruzione
Screen.MousePointer=miovalore
In tal modo quando il mouse passa sul controllo il puntatore cambia
icona e resta con questa icona anche quando il mouse lascia il
controllo.
Non riesco a capire quale evento potrei sfruttare per far ritornare
l'icona al suo valore originale.
Grazie
Luigi
Stessa cosa su Evento MouseMove del Corpo della Form, ma devi
ottimizzarlo
altrimenti anche se non lo vedi(probabilmente sfarfalla) imposterai
Icona qualche milione di volte.....!!!

Imposta una Variabile di tipo Boolean(oppure salva l'Handle) come
Private a livello di Form e cambia l'icona solo se serve....!

@Alex
Lp
2006-08-16 12:25:41 UTC
Permalink
Post by Alessandro Baraldi
[CUT]
Post by Lp
Rimanendo nel tema originale di questo thread ho ancora un piccolo
problema con l'icona del mouse.
Sono riuscito a far cambiare icona al puntatore quando questo passa su
un determinato controllo. Il problema ora è come fare a farlo
ritornare allo stato originario quando lascia il controllo.
Mi spiego meglio.
Per far cambiare l'icona del mouse quando passa su un determinato
controllo, sfrutto l'evento MouseMove del controllo e all'interno di
questo metto l'istruzione
Screen.MousePointer=miovalore
In tal modo quando il mouse passa sul controllo il puntatore cambia
icona e resta con questa icona anche quando il mouse lascia il
controllo.
Non riesco a capire quale evento potrei sfruttare per far ritornare
l'icona al suo valore originale.
Grazie
Luigi
Stessa cosa su Evento MouseMove del Corpo della Form, ma devi
ottimizzarlo
altrimenti anche se non lo vedi(probabilmente sfarfalla) imposterai
Icona qualche milione di volte.....!!!
Imposta una Variabile di tipo Boolean(oppure salva l'Handle) come
Private a livello di Form e cambia l'icona solo se serve....!
@Alex
Il problema è che la form è riempita di tanti altri controlli
(listview, treeview, bottoni) parecchi dei quali adiacenti al
controllo sul quale il mouse deve cambiare icona.
In altre parole quando il mouse lascia il controllo, non incontra il
corpo della form ma va a finire su uno di questi altri controlli.
Dovrei quindi gestire l'evento MouseMove di tutti i controlli.
Insomma sarebbe stato molto comodo se il controllo avesse avuto un
evento che avesse permesso di intercettare quando il mouse lasciava il
controllo.
Luigi
Alessandro Baraldi
2006-08-16 14:31:12 UTC
Permalink
Lp ha scritto:

[CUT]
Post by Lp
Il problema è che la form è riempita di tanti altri controlli
(listview, treeview, bottoni) parecchi dei quali adiacenti al
controllo sul quale il mouse deve cambiare icona.
In altre parole quando il mouse lascia il controllo, non incontra il
corpo della form ma va a finire su uno di questi altri controlli.
Dovrei quindi gestire l'evento MouseMove di tutti i controlli.
Insomma sarebbe stato molto comodo se il controllo avesse avuto un
evento che avesse permesso di intercettare quando il mouse lasciava il
controllo.
Luigi
Se i controlli sono solo Tree e List che espongon l'Hwnd allora puoi
sfruttare

Declare Function WindowFromPoint Lib "user32" Alias "WindowFromPoint"
(ByVal xPoint As Long, ByVal yPoint As Long) As Long

Declare Function GetCursorPos Lib "user32" Alias "GetCursorPos"
(lpPoint As POINTAPI) As Long

Ricavi la posizione del Mouse, la passi all'Api WindowFromPoint e
ricavi l'Hwnd della
finestra sotto il Mouse se sono = all'Hwnd dei Tree o List resetti il
MouseIcon...!

Credo però che sia da inserire in un Evento Timer...!

L'Alternativa è quella di SubClassare la Form e recuperare la
posizione del Mouse confrontandola con quella del Controllo che ha
fatto Modificare l'Icona e se è fuori
rimetterla....!
Io Opterei per la 2° ma la tecnica del SUbClassing è più
complessa....!

Ciao
@Alex
Lp
2006-08-16 16:55:45 UTC
Permalink
Post by Alessandro Baraldi
[CUT]
Post by Lp
Il problema è che la form è riempita di tanti altri controlli
(listview, treeview, bottoni) parecchi dei quali adiacenti al
controllo sul quale il mouse deve cambiare icona.
In altre parole quando il mouse lascia il controllo, non incontra il
corpo della form ma va a finire su uno di questi altri controlli.
Dovrei quindi gestire l'evento MouseMove di tutti i controlli.
Insomma sarebbe stato molto comodo se il controllo avesse avuto un
evento che avesse permesso di intercettare quando il mouse lasciava il
controllo.
Luigi
Se i controlli sono solo Tree e List che espongon l'Hwnd allora puoi
sfruttare
Declare Function WindowFromPoint Lib "user32" Alias "WindowFromPoint"
(ByVal xPoint As Long, ByVal yPoint As Long) As Long
Declare Function GetCursorPos Lib "user32" Alias "GetCursorPos"
(lpPoint As POINTAPI) As Long
Ricavi la posizione del Mouse, la passi all'Api WindowFromPoint e
ricavi l'Hwnd della
finestra sotto il Mouse se sono = all'Hwnd dei Tree o List resetti il
MouseIcon...!
Credo però che sia da inserire in un Evento Timer...!
L'Alternativa è quella di SubClassare la Form e recuperare la
posizione del Mouse confrontandola con quella del Controllo che ha
fatto Modificare l'Icona e se è fuori
rimetterla....!
Io Opterei per la 2° ma la tecnica del SUbClassing è più
complessa....!
Ciao
@Alex
Beh, alla fine ho risolto sfruttando l'evento MouseMove dei controlli.
Anche senza l'inserimento di flag o timer, l'effetto è buono e non c'è
sfarfallio.
Grazie comunque per gli altri suggerimenti.
Luigi
Alessandro Baraldi
2006-08-16 16:59:55 UTC
Permalink
Lp ha scritto:

[CUT]
Post by Lp
Beh, alla fine ho risolto sfruttando l'evento MouseMove dei controlli.
Anche senza l'inserimento di flag o timer, l'effetto è buono e non c'è
sfarfallio.
Grazie comunque per gli altri suggerimenti.
Luigi
Poco flessibile...., ma credo che sia un buon compromesso.

P.S. il Timer lo dovevi attivare solo su MouseMove del controllo che
cambiava
l'Icona e Resettarlo appena il Cursore era fuori dalla posizione dello
stesso...!

@Alex
Lp
2006-08-16 23:30:02 UTC
Permalink
Post by Alessandro Baraldi
P.S. il Timer lo dovevi attivare solo su MouseMove del controllo che
cambiava
l'Icona e Resettarlo appena il Cursore era fuori dalla posizione dello
stesso...!
@Alex
Sì, questo mi è chiaro.
Luigi

Alessandro Baraldi
2006-08-15 16:50:16 UTC
Permalink
Post by Lp
Chi la fa, l'aspetti...
http://tinyurl.com/jr6fq
Path:
g2news2.google.com!news3.google.com!news.glorb.com!news.newsland.it!nntp.infostrada.it!twister1.libero.it.POSTED!not-for-mail
From: ***@libero.it (Lp)
Newsgroups: it.comp.appl.access
Subject: Re: Cambiare l'icona del mouse
Message-ID: <***@usenet.libero.it>
Followup-To: it.comp.appl.access
References: <***@4ax.com>
<***@m79g2000cwm.googlegroups.com>
<***@4ax.com>
X-Mailer: arianna.libero.it/usenet/ - NetNews WebGateway
X-Author: PostedFrom 62.123.23.159
X-Niolid:
1155652895399_HwcH1I1_3d_sWcN9LL1W9_7c_g6Ll_3d__7c_w_3d_N66RNLenrbQbKrQLO0qvisaoKnHN6nvgoFK
Lines: 6
Date: Tue, 15 Aug 2006 14:48:55 GMT
NNTP-Posting-Host: 195.210.93.113
X-Complaints-To: ***@iol.it
X-Trace: twister1.libero.it 1155653335 195.210.93.113 (Tue, 15 Aug 2006
16:48:55 MET DST)
NNTP-Posting-Date: Tue, 15 Aug 2006 16:48:55 MET DST
Organization: [Infostrada]

I dati dell'Untore.....!

@Alex
Loading...