Autore Topic: Controllo attivo in Form [RISOLTO]  (Letto 1243 volte)

Offline pirandello

  • Gamberetto
  • *
  • Post: 35
    • Mostra profilo
Controllo attivo in Form [RISOLTO]
« il: 08 Novembre 2010, 10:36:31 »
Salve, volendo inviare a questa SUB le chiamate per ogni azione sul FORM (senza attivare l'evento CLICK sul controllo) con in quale evento/azione posso chiamarla? (gli eventi sul FORM li ho provati tutti ma non sono riuscito a trovare la soluzione)

Public Sub ctl_setfocus ()
Dim obj as object
obj =Application.ActiveControl
obj.Foreground = Color.Red
End

Grazie
« Ultima modifica: 11 Novembre 2010, 18:58:03 da pirandello »

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Controllo attivo in Form
« Risposta #1 il: 08 Novembre 2010, 22:05:19 »
Salve, volendo inviare a questa SUB le chiamate per ogni azione sul FORM (senza attivare l'evento CLICK sul controllo) con in quale evento/azione posso chiamarla? (gli eventi sul FORM li ho provati tutti ma non sono riuscito a trovare la soluzione)

Public Sub ctl_setfocus ()
Dim obj as object
obj =Application.ActiveControl
obj.Foreground = Color.Red
End

Grazie

Se, come suppongo , ti riferisca alla pressione di un tasto qualsiasi oppure ad un click sulla Form, una soluzione potrebbe essere di trasferire lle istruzioni dentro  procedure evento della Form, come
Codice: [Seleziona]
PUBLIC SUB Form_MouseDown()

END



PUBLIC SUB Form_KeyPress()

END

Gli eventi Form vengono generati da Gambas prima di quelli collegati agli oggetti che la contengono.
Ciao.
:ciao:

Offline pirandello

  • Gamberetto
  • *
  • Post: 35
    • Mostra profilo
Re: Controllo attivo in Form
« Risposta #2 il: 11 Novembre 2010, 14:14:27 »
Salve, volendo inviare a questa SUB le chiamate per ogni azione sul FORM (senza attivare l'evento CLICK sul controllo) con in quale evento/azione posso chiamarla? (gli eventi sul FORM li ho provati tutti ma non sono riuscito a trovare la soluzione)

Public Sub ctl_setfocus ()
Dim obj as object
obj =Application.ActiveControl
obj.Foreground = Color.Red
End

Grazie

Se, come suppongo , ti riferisca alla pressione di un tasto qualsiasi oppure ad un click sulla Form, una soluzione potrebbe essere di trasferire lle istruzioni dentro  procedure evento della Form, come
Codice: [Seleziona]
PUBLIC SUB Form_MouseDown()

END



PUBLIC SUB Form_KeyPress()

END

Gli eventi Form vengono generati da Gambas prima di quelli collegati agli oggetti che la contengono.
Ciao.

Provato non funge.
Dopo ogni evento (click, lostfocus) che si verifica nei controlli textbox, combobox, etc., il codice deve saltare in quella SUB (quella è solo una parte di tutto il codice): in questo modo io posso controllare il corretto contenuto presente nei controlli senza attivare l'evento ad ognuno.  
« Ultima modifica: 11 Novembre 2010, 14:29:29 da pirandello »

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.272
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Controllo attivo in Form
« Risposta #3 il: 11 Novembre 2010, 16:07:21 »
se ho capito bene, e vuoi mantenere sia gli eventi separati che gli eventi raggruppati, fai in questo modo:

Codice: vb [Seleziona]
Public Sub _new()
Dim Obs As Observer
Dim Con As Control

  For Each Con In Me.Controls
    Obs = New Observer(Con) As "Evento"
  Next
 
End

Public Sub Evento_Click()

  Print Last.Name

End


e vedi se da consolle leggi il nome dell'oggetto 'clikkato'

Offline pirandello

  • Gamberetto
  • *
  • Post: 35
    • Mostra profilo
Re: Controllo attivo in Form
« Risposta #4 il: 11 Novembre 2010, 18:57:11 »
se ho capito bene, e vuoi mantenere sia gli eventi separati che gli eventi raggruppati, fai in questo modo:

Codice: vb [Seleziona]
Public Sub _new()
Dim Obs As Observer
Dim Con As Control

  For Each Con In Me.Controls
    Obs = New Observer(Con) As "Evento"
  Next
 
End

Public Sub Evento_Click()

  Print Last.Name

End


e vedi se da consolle leggi il nome dell'oggetto 'clikkato'

Mitico Milio funzionaaaaaa  :ok:

Offline perseo

  • Maestro Gambero
  • ****
  • Post: 264
    • Mostra profilo
Re: Controllo attivo in Form [RISOLTO]
« Risposta #5 il: 11 Novembre 2010, 19:56:40 »
...le sa TUTTE!!!  :D

Offline pirandello

  • Gamberetto
  • *
  • Post: 35
    • Mostra profilo
Re: Controllo attivo in Form [RISOLTO]
« Risposta #6 il: 12 Novembre 2010, 00:11:36 »
Meno male che esiste questo forum altrimenti tutto il potenziale di gambas passerebbe inosservato.
Grazie a tutti di cuore. :D