Newsgroup: it.comp.lang.visual-basic
Titolo: Generare TextBox dinamiche

Come si realizzano TextBox dinamicamente.?
Il mio problema è Questo:
Devo chiedere all'utente di quante lettere e composta una parola
- mettiamo dica 7
dovrà comparire
tante caselle textbox quante sono le lettere
sapete come aiutarmi avete altre idee di come fare una cosa simile in vb6

"asa" <a...@asa.COM> ha scritto nel messaggio
news:miD%d.13565$kC3....@tornado.fastwebnet.it...

il giocattolino TextBox può essere serializzato
e quindi gestito dinamicamente.
Per serializzare una classe devi cambiare giocattolo
MFC Classes
:-)

 tante caselle textbox quante sono le lettere
Dunque, lascia perdere la serializzazione, che a quanto pare Albert non sa
neanche di cosa si tratta (tra parentesi, una textbox NON può essere
serializzata, non in modo trasparente almeno).
In VB6 puoi gestire la cosa utilizzando un array di TextBox (puoi usare la
mia classe ObjectArray per semplificarti il lavoro
http://www.neodatatype.net/downloads/_vb6/Collections.rar
).
Considera la possibilità di farti la tua "TextBox" personalizzata con un bel
controllo utente.
Ciao
--
Reporting tool: 
http://www.neodatatype.net
Qualunque mentecatto può scrivere codice che un computer possa capire.
I buoni programmatori scrivono codice che gli uomini possano capire.
[Martin Fowler]


Prendi un form
mettici un command
incolla questo codice:
Option Explicit
Private Sub Command1_Click()
Dim tgen As TextBox
Dim n As Long
Dim nomeTbox As String
For n = 1 To 7
    nomeTbox = "Mytextbox" & CStr(n)
    Set tgen = Me.Controls.Add("VB.TextBox", nomeTbox)
    tgen.Height = Me.Font.Size
    tgen.Width = 10000
    tgen.Left = 50
    tgen.Text = "Albert sà 'na sega di Vb!"
    tgen.Top = n * 1000
    tgen.Visible = True
Next
End Sub
Private Sub Form_Load()
Me.Left = 0
Me.Top = 0
Me.Width = Screen.Width
Me.Height = Screen.Height
End Sub
...e manda a fanbagno la serializzazione di Albert!
se vuoi manda a fanbagno direttamente Albert!
-- 
------------------------------------------------
Il Wodkino Nazionale è a : 
www.martek.it
Pagina Vb/Bestiario/Lamer Experience :
http://www.martek.it/go.asp?portamia=2
 New Entry nel bestiario!
:-)

 se vuoi manda a fanbagno direttamente Albert!
Perchè?
Certa gente è così divertente da leggere :)


WHOOOO fantastico grazie 


Come ti han detto utilizzando un array di controlli e centralizzando il
codice!!!
(o la classe di Zanna che lui dice semplifica il lavoro)
prendi questa modifica
Solita form
2 Commandbutton uno sotto l'altro
e POI...
un textbox chiamato txtArrayTextbox
poi vai in proprietą
index che normalmente non c'č nulla....mettilo uguale a ZERO
poi incolla
Option Explicit
Private Sub Command1_Click()
Dim tgen As TextBox
Dim n As Long
Dim nomeTbox As String
For n = 1 To 7
    nomeTbox = "Mytextbox" & CStr(n)
    Set tgen = Me.Controls.Add("VB.TextBox", nomeTbox)
    tgen.Height = Me.Font.Size
    tgen.Width = 5000
    tgen.Left = 50
    tgen.Text = "Albert są na sega di Vb!"
    tgen.Top = n * 1000
    tgen.Visible = True
Next
End Sub
Private Sub Command2_Click()
Dim n As Long
'per teoria: comincio a contare da 1
Me.txtArrayTextbox(0).Visible = False
For n = 1 To 7
    Load Me.txtArrayTextbox(n)
    With Me.txtArrayTextbox(n)
        .Height = Me.Font.Size
        .Width = 5000
        .Left = 50
        .Text = "Continuo ad affermare che Albert są na sega di Vb!"
        .Top = n * 750
        .BackColor = vbYellow
        .Visible = True
    End With
Next
End Sub
Private Sub Form_Load()
Me.Left = 0
Me.Top = 0
Me.Width = Screen.Width
Me.Height = Screen.Height
Me.Command1.Left = Me.Width / 2
Me.Command2.Left = Me.Width / 2
Me.Command1.Caption = "Crea"
Me.Command2.Caption = "Crea Array"
End Sub
Private Sub txtArrayTextbox_MouseUp(Index As Integer, Button As Integer,
Shift As Integer, X As Single, Y As Single)
MsgBox "Hai selezionato: """ & Me.txtArrayTextbox(Index).SelText & """ del
textbox numero " & CStr(Index)
End Sub
Premi Crea Array
poi seleziona qualcosa in una delle texbox che appaiono
E' solo uno scheletro ...su questo sperimenta da solo!
Buon Lavoro
:-)
-- 
------------------------------------------------
Il Wodkino Nazionale č a : 
www.martek.it


Funziona tutto ma ora come faccio a leggerla?
  Dim nomeTbox
  Dim parola
  parola = ""
  For n = 1 To n
    nomeTbox = "Lettera" & CStr(n)
      parola = parola & nomeTbox.Text
  Next
  MsgBox (parola)
"asa" <a...@asa.COM> ha scritto nel messaggio 
news:miD%d.13565$kC3....@tornado.fastwebnet.it...


 (o la classe di Zanna che lui dice semplifica il lavoro)
Cos'è, non mi credi? ;)
Sarebbe stato ingestibile la situazione del mio progettino per flowchart
senza questa classe (che gestiva tutti gli oggetti del grafico aggiunti e
tolti dinamicamente dall'utente).
Ciao
--
Reporting tool: 
http://www.neodatatype.net
Qualunque mentecatto può scrivere codice che un computer possa capire.


 Ciao
Ci credo ed appena ho ...non tempo...ma neuroni liberi...cerco di capirla!
Promesso!
:-)
-- 
Il Wodkino Nazionale č a : 
www.martek.it
Pagina Vb/Bestiario/Lamer Experience :
http://www.martek.it/go.asp?portamia=2
 Quotefix e altro:
http://www.martek.it/go.asp?portamia=4
Usr: ICLVB Pw: amici

 Colpa ESCLUSIVAMENTE mia!
In realtą sono mesi che voglio compilarla in un unico progetto Ax e mandarla 
con esempio al sito comune...
Quando avrņ tempo... :P
Ciao 

 sapete come aiutarmi avete altre idee di come fare una cosa simile in vb6
Domandina: perché non usi una semplice griglia con le celle?
IMHO, è molto più logico e meno incasinoso :D
Andrea