Originariamente inviato da tossam
voglio ricreare una funzione imput box... una funzione che tramite una finestra di messaggio, mi rimandi una variabile contenente un testo scritto dall'utente nella finestra... tipo imput box... così inizio il mio public function...

Public function MLIB (title as string, text as string)
form1.caption = title
form1.label1.caption = text
load form1

... ora si apre form 1 e io immetto il testo (o meglio, lo immette l'utente) e poi do l'ok, come faccio a controllare l'evento click dentro il public della funzione??? o posso dall'evento rilanciare il valore nella funzione??? BOH!!!!

questo è il punto!

spero di essermi spiegato meglio, grazie.
codice:
Public function MLIB (title as string, text as string) As String 'Occhio, se non scrivi "As String" la funzione restituisce un Variant, che è più lento, occupa più memoria e non dice cosa restituisce esattamente la funzione
Load form1 'Se il form è scaricato come fai ad impostare le sue proprietà?
form1.caption = title
form1.label1.caption = text
form1.Show 1 'Mostra il form come modale; non ritorna finché il form non è stato nascosto
MLIB=form1.nometextbox 'Nometextbox è la textbox in cui l'utente inserisce il testo
Unload form1
End Function
Ovviamente alla pressione dei pulsanti Ok o Annulla devi solo nascondere il form e non scaricarlo, altrimenti si perde il valore del textbox.
Ancora meglio sarebbe creare una nuova istanza di form1:
codice:
Public function MLIB (title as string, text as string) As String
Dim ibx As New form1
ibx.caption = title
ibx.label1.caption = text
ibx.Show 1
MLIB=ibx.nometextbox
Set ibx=Nothing
End Function
P.S.: usa dei nomi decenti: form1 e label1 non sono granché significativi.