Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Aiuto con gli eventi di vb6
Forum - Visual Basic 6 - Aiuto con gli eventi di vb6

Avatar
XBarboX (Member)
Guru


Messaggi: 945
Iscritto: 31/12/2008

Segnala al moderatore
Postato alle 19:18
Martedì, 02/02/2010
Salve,
sto facendo uno screen saver e devo fare in modo che al muovere del mouse o di un click questo programma si chiuda. Io ci ero riuscito senza problemi così:
Codice sorgente - presumibilmente VB.NET

  1. 'EVENTI CHIUSURA FORM
  2. Private Sub Form_Click()
  3. Unload Me
  4. End Sub
  5.  
  6. Private Sub Form_KeyPress(KeyAscii As Integer)
  7.       Unload Me
  8. End Sub
  9.  
  10. Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  11.       Static count As Integer
  12.       If count > 5 Then
  13.          Unload Me
  14.       Else
  15.          count = count + 1
  16.       End If
  17. End Sub
  18. 'EVENTI CHIUSURA FORM



Però successivamente ho messo a schermo intero un'animazione flash, la quale copre ogni singolo pixel del form principale: infatti i metodi click e mouse move nn vanno più...
Come posso fare in modo che il questi eventi funzionino lo stesso anche se il form principale e coperto?

Grazie.

PM Quote
Avatar
Iohoilpotere (Ex-Member)
Pro


Messaggi: 80
Iscritto: 13/09/2009

Segnala al moderatore
Postato alle 19:36
Martedì, 02/02/2010
prova con l'evento click sull'animazione flash, ho detto una cazzata :D Se no ci son le API ma io nn le so usare, ti devi fare aiutare da qualcuno più bravo di me, e questo forum è pieno :P

Ultima modifica effettuata da Iohoilpotere il 02/02/2010 alle 19:37
PM Quote
Avatar
XBarboX (Member)
Guru


Messaggi: 945
Iscritto: 31/12/2008

Segnala al moderatore
Postato alle 19:38
Martedì, 02/02/2010
ci ho pensato anche io, ma il controllo falsh non esiste per questo componente. :d

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 19:45
Martedì, 02/02/2010
devi controllare periodicamente la posizione del mouse e vedere se si sposta in questo modo...


Codice sorgente - presumibilmente VB.NET

  1. in un modulo:
  2. Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
  3. Type POINTAPI
  4.     x As Long
  5.     y As Long
  6. End Type
  7.  
  8. in un timer (500 = interval):
  9.     Dim Posizione As POINTAPI
  10.     Dim PuntoX As Integer
  11.     Dim PuntoY As Integer
  12.     Dim OldX as integer
  13.     Dim OldY as integer
  14.         GetCursorPos Posizione
  15.         OldX = Posizione.x
  16.         OldY = Posizione.y
  17. Private Sub Timer1_Timer()
  18.         GetCursorPos Posizione
  19.         PuntoX = Posizione.x
  20.         PuntoY = Posizione.y
  21.   if (puntoX <> OldX) Or (puntoY <> OldY) then
  22. msgbox "Mouse spostato!"
  23. end if
  24. End Sub


PM Quote
Avatar
Iohoilpotere (Ex-Member)
Pro


Messaggi: 80
Iscritto: 13/09/2009

Segnala al moderatore
Postato alle 19:47
Martedì, 02/02/2010
:ot: GrG, mi sapresti linkare una guida alle API di winzoz? :D :ot:

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 20:36
Martedì, 02/02/2010
Testo quotato

Postato originariamente da Iohoilpotere:

:ot: GrG, mi sapresti linkare una guida alle API di winzoz? :D :ot:



Guida in che senso?
L'utilizzo non è molto difficile, sono infatti funzioni integrate in windows e basta richiamarle... l'unico problema è sapere il nome dell'API e quindi devi trovare l'api giusta...

PM Quote
Avatar
Iohoilpotere (Ex-Member)
Pro


Messaggi: 80
Iscritto: 13/09/2009

Segnala al moderatore
Postato alle 21:41
Martedì, 02/02/2010
una guida generica, con i nomi delle funzioni etc :D

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 22:08
Martedì, 02/02/2010

PM Quote
Avatar
XBarboX (Member)
Guru


Messaggi: 945
Iscritto: 31/12/2008

Segnala al moderatore
Postato alle 7:25
Mercoledì, 03/02/2010
Cmq adesso funziona, grazie.

PM Quote