Gambas-it

Archivi (sola lettura) => Programmazione (Gambas 2) => Topic aperto da: aulin - 18 Maggio 2010, 10:48:55

Titolo: [RISOLTO] LostFocus come passare il controllo ad un altro oggetto.
Inserito da: aulin - 18 Maggio 2010, 10:48:55
Problema già affrontato ma faccio difficoltà a digerirlo. Utilizzo il metodo GetFocus e LostFocus su una TextBox per l'input di campi float. Se il campo numerico è l'unico da inserire, e la sub LostFocus formatta il campo, tipo Format$(NomeCampo,"000,00"),  come faccio a passare il controllo ad un bottonefacendogli eseguire il LostFocus?. Il campo di input è l'unico e solo della form(altri vengono presi da GridView).Non riesco a fargli eseguire  il LostFocus. Grazie in anticipo. Momentaneamente per farlo funzionare ho inserito un'altro campo su cui clicco e così funziona, ma è una schifezza. Help  
UBUNTU 9.1 Gambas 2.20
Titolo: Re: LostFocus come passare il controllo ad un altro oggetto.
Inserito da: milio - 18 Maggio 2010, 14:29:13
Non ci ho capito una cippa!  ;D

Arrivi ad allegare il sorgente?
Titolo: Re: LostFocus come passare il controllo ad un altro oggetto.
Inserito da: aulin - 18 Maggio 2010, 15:41:24
la domanda è : come faccio a spostare il controllo su un bottone, in modo che mi esegua il LostFocus? Dovrebbe essere tipo  Bottone.GetFocus, ma dove metto questa istruzione in modo che possa essere eseguita ?


Codice: [Seleziona]
'
' Gestione campo TB_PesoModificato
'
PUBLIC SUB TB_PesoModificato_GotFocus()
        PesoModificato = PesoAttuale
         TB_PesoModificato.Alignment = Align.left
          TB_PesoModificato.text = PesoModificato
         
END

PUBLIC SUB TB_PesoModificato_KeyPress()
SELECT Key.code
    CASE Key.Enter, Key.BackSpace, Key.Delete, Key.Left, Key.Right, Key.Return, Key.space
      RETURN
  END SELECT
 
IF Key.Text LIKE "+" OR Key.Text LIKE "-" OR Key.Text LIKE "." THEN RETURN

IF NOT IsDigit(key.text) THEN
   STOP EVENT
ENDIF

END

PUBLIC SUB TB_PesoModificato_LostFocus()
        PesoModificato = Val(TB_PesoModificato.text)
           TB_PesoModificato.Alignment = Align.Right
            TB_PesoModificato.text = Format$(PesoModificato, "000.00")
END


Titolo: Re: LostFocus come passare il controllo ad un altro oggetto.
Inserito da: milio - 18 Maggio 2010, 15:47:53
Potresti fare cosi': finito di digitare il numero, premendo su Enter o Return attivi l'evento _Activate()

PUBLIC SUB TB_PesoModificato_Activate()
  TB_PesoModificato_LostFocus()   
END
Titolo: Re: LostFocus come passare il controllo ad un altro oggetto.
Inserito da: aulin - 18 Maggio 2010, 15:59:40
Grazie milio in questo modo funziona, però tendo ad evitare l'utilizzo del tasto enter, si può fare lo stesso attivando un pulsante ? . Sarebbe il classico pulsante di conferma. Ringrazio per la collaborazione
Titolo: Re: LostFocus come passare il controllo ad un altro oggetto.
Inserito da: milio - 18 Maggio 2010, 16:12:56
Bhe ma in questo caso usi l'evento Button_Click()

PUBLIC SUB TuoBottone_Click()
  TB_PesoModificato_LostFocus()   
END
Titolo: Re: LostFocus come passare il controllo ad un altro oggetto.
Inserito da: milio - 18 Maggio 2010, 16:14:46
In teoria comunque, spostando il focus sul tasto, attiveresti l'evento _LostFocus della textbox...
Titolo: Re: LostFocus come passare il controllo ad un altro oggetto.
Inserito da: aulin - 18 Maggio 2010, 16:25:29
OK. ora funziona. Io ritenevo che spostando semplicemente il focus su un bottone, attivasse il :lostfocus, ma non so se effettivamente fa così. Invece tu fai eseguire il _LostFocus. risolto comunque e grazie.