Differenze tra le versioni di "Far assumere al cursore del mouse l'aspetto dell'attesa"

Da Gambas-it.org - Wikipedia.
Riga 8: Riga 8:
  
 
Semplice esempio pratico:
 
Semplice esempio pratico:
  Public Sub Button1_Click()
+
  '''Public''' Sub Button1_Click()
 
    
 
    
 
   Dim i As Integer
 
   Dim i As Integer
Riga 19: Riga 19:
 
      
 
      
 
   Dec Application.Busy
 
   Dec Application.Busy
 +
 
 +
'''End'''
 +
 +
 +
 +
Un'altra possibilità è quella di usare le proprietà "''.Wait''" e "''.Default''" della Classe ''Mouse''.
 +
'''Public''' Sub Button1_Click()
 +
 
 +
  Dim i As Integer
 +
 
 +
  Me.Mouse = Mouse.Wait
 +
 
 +
  For i = 1 To 1000000
 +
    Print i
 +
  Next
 +
   
 +
  Me.Mouse = Mouse.Default
 
    
 
    
 
  '''End'''
 
  '''End'''

Versione delle 04:51, 29 mag 2017

Sovente, quando il programma è impegnato a svolgere una lunga operazione, il cursore del mouse assume il consueto aspetto di una sorta di rotellina che gira sino a quando quella lunga operazione non termina.

Per riprodurre questo effetto grafico anche in Gambas, è possibile utilizzare in ambiente grafico la proprietà ".Busy" della Classe "Application".

In particolare la guida ufficiale on-line dice che quando la proprietà ".Busy" è impostata ad un valore maggiore di zero, il cursore del mouse assume l'aspetto di attesa (cursore "occupato") per mostrare che l'applicazione è occupata e non risponde agli eventi utente. Terminato la fase di attesa bisognerà decrementare il valore, precedentemente incrementato, della predetta proprietà ".Busy".
Se la proprietà ".Busy" è stata incrementata, non bisogna dimenticare di decrementarla, al termine della fase di attesa.


Semplice esempio pratico:

Public Sub Button1_Click()
 
 Dim i As Integer
 
  Inc Application.Busy
 
  For i = 1 To 1000000
    Print i
  Next
   
  Dec Application.Busy
  
End


Un'altra possibilità è quella di usare le proprietà ".Wait" e ".Default" della Classe Mouse.

Public Sub Button1_Click()
 
 Dim i As Integer
 
  Me.Mouse = Mouse.Wait
 
  For i = 1 To 1000000
    Print i
  Next
   
  Me.Mouse = Mouse.Default
  
End