Autore Topic: MouseMove non funziona  (Letto 1888 volte)

Offline ivanpro

  • Gamberetto
  • *
  • Post: 14
  • Umuntu ngumuntu ngabantu
    • Mostra profilo
MouseMove non funziona
« il: 04 Settembre 2019, 20:54:35 »
L'evento MouseMove non funziona, almeno per quanto  mi riguarda in ambiente Ubuntu 19.04 con Gambas 3.12.2.
Allego un progetto d'esempio. L'applicazione dovrebbe al passaggio del mouse sulla Form cancellare il testo contenuto in una Label e cambiare il testo di una Label in "mouse move" quando passa sulla Label.

Nota: L'evento MouseMove non funziona con nessun componente, ho provato anche con una PictureBox, ma niente da fare.

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.727
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:MouseMove non funziona
« Risposta #1 il: 04 Settembre 2019, 22:00:58 »
 :ciao:
L'unica cosa che vedo è che è che nell'help che appare MouseMove non è "visto" come un evento.
Se uso Enter invece che MouseMove funziona.
Non saprei, così su due piedi, anche se sono seduto!
 :ciao:

PS MouseMove funziona solo se premi il pulsante sinistro del mouse durante il movimento :-\
« Ultima modifica: 04 Settembre 2019, 22:04:25 da kicco »
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline ivanpro

  • Gamberetto
  • *
  • Post: 14
  • Umuntu ngumuntu ngabantu
    • Mostra profilo
Re:MouseMove non funziona
« Risposta #2 il: 04 Settembre 2019, 22:33:55 »
Grazie kikko ho risolto. Allego il progetto nel caso in cui potesse essere utile a qualcuno.
Spiego cosa bisogna fare:
1. Inserire nella Form una PictureBox della stessa dimensione della Form
2. Disporre la Label in primo piano
3. Usare gli eventi Enter e non MouseMove  :o

Ho dovuto usare un PictureBox di sfondo perché non esiste l'evento Enter per le Form.
« Ultima modifica: 04 Settembre 2019, 22:45:53 da ivanpro »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.243
  • Tonno verde
    • Mostra profilo
Re:MouseMove non funziona
« Risposta #3 il: 04 Settembre 2019, 23:07:26 »
... MouseMove funziona solo se premi il pulsante sinistro del mouse durante il movimento :-\

A me funziona bene :-\
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.720
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:MouseMove non funziona
« Risposta #4 il: 05 Settembre 2019, 00:35:57 »
L'applicazione dovrebbe al passaggio del mouse sulla Form cancellare il testo contenuto in una Label e cambiare il testo di una Label in "mouse move" quando passa sulla Label.

L'evento chiamato _MouseMove( ), come specifica chiaramente la guida, "viene sollevato quando il mouse si muove all'interno del Controllo mentre un tasto del mouse è premuto".
Tale evento è diverso dall'evento _Enter( ) che viene sollevato quando "il mouse entra all'interno del Controllo".

Detto ciò, io provando il codice del tuo primo post, ho riscontrato che funziona coerentemente con gli eventi da te lì impostati appartenenti ai due Oggetti posti sul Form.



...nell'help che appare MouseMove non è "visto" come un evento.
Scu...scusami, ma... in che senso ?   :rolleyes:



....non esiste l'evento Enter per le Form.
Mi risulta il contrario (vedi immagine sotto allegata).



A me funziona bene
Sì, però devi anche specificare che hai impostato la Proprietà .Tracking del Form a True, mentre tale Proprietà nel codice di ivanpro è stata lasciata al valore predefinito di False!
« Ultima modifica: 05 Settembre 2019, 00:43:59 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.727
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:MouseMove non funziona
« Risposta #5 il: 05 Settembre 2019, 09:09:38 »
Citazione
    ...nell'help che appare MouseMove non è "visto" come un evento.

Scu...scusami, ma... in che senso ?   :rolleyes:

Che ieri quando ho dato un occhio al volo, e contrariamente ad ora la descrizione (help) di _MouseMove era differente e non lo descriveva come un evento come invece avveniva per tutti gli altri "eventi"  della lista.
Ho poi consultato la documentazione del componente QT4 per scoprire quanto tu hai descritto sopra.
Ti assicuro che ieri sera m'è comparsa un'altra descrizione. ...e non avevo bevuto! :-\  :P
 :ciao:
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.243
  • Tonno verde
    • Mostra profilo
Re:MouseMove non funziona
« Risposta #6 il: 05 Settembre 2019, 10:09:53 »
@kicco
Perchè ieri sera (dopo probabili abbondanti libagioni  ;D ) hai scambiato questa descrizione della guida (1) per quella dell'evento controllo (2) che appare chiaramente durante la digitazione e che nessuno ha cambiato, almeno non di recente.

A supporto allegato immagini 1 e 2

@vuott
ho ben specificato quanto per iscritto sostenuto, allegando un esempio esplicativo.
Ti rammento che più di una volta hai risposto a qualche mio quesito dicendo che a te funzionava e allegavi solo una una faccina fischiettante, non che mi lamenti, anzi, dimostrava la tua fiducia nelle mie capacità deduttive (e di ricerca  :P:D

 :ciao: :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline ivanpro

  • Gamberetto
  • *
  • Post: 14
  • Umuntu ngumuntu ngabantu
    • Mostra profilo
Re:MouseMove non funziona
« Risposta #7 il: 05 Settembre 2019, 13:26:06 »
Mi risulta il contrario (vedi immagine sotto allegata).
Mi sa che è stata una svista, l'avevo cercato dal menu a tendina che compare mentre s'inizia a scrivere Public Sub Form_ e non so per quale motivo non l'ho visto  ???.

L'evento chiamato _MouseMove( ), come specifica chiaramente la guida, "viene sollevato quando il mouse si muove all'interno del Controllo mentre un tasto del mouse è premuto".
Tale evento è diverso dall'evento _Enter( ) che viene sollevato quando "il mouse entra all'interno del Controllo".
Sono abituato a programmare in Microsoft Visual Studio e a considerare l'evento MouseEvent come un evento che viene generato quando il mouse si muove sull'oggetto, quindi ignoravo completamente l'evento Enter.
Quello che fa l'evento MouseMove in Gambas sono abituato a chiamarlo come DragDrop.
Scusatemi, un po' di pazienza mi ci devo ancora abituare e considerare i due ambienti completamente diversi.

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.727
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Re:MouseMove non funziona
« Risposta #8 il: 05 Settembre 2019, 14:38:39 »
Citazione
@kicco
Perchè ieri sera (dopo probabili abbondanti libagioni  ;D ) hai scambiato questa descrizione della guida (1) per quella dell'evento controllo (2) che appare chiaramente durante la digitazione e che nessuno ha cambiato, almeno non di recente.

A supporto allegato immagini 1 e 2
Ho scoperto, dopo varie prove cos'ho combinato. Posto l'immagine che spiega più delle parole... :-[
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.720
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:MouseMove non funziona
« Risposta #9 il: 05 Settembre 2019, 15:00:09 »
.....considerare i due ambienti completamente diversi.

Exactement.
Per lo meno tu hai consapevolezza di ciò, mentre altri addirittura si incazzano sul fatto che Gambas non sia come VB:
https://forum.gambas.one/viewtopic.php?f=4&t=735#p1802
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »