Newsgroup: it.comp.lang.visual-basic
Titolo: Classe per gestire Array di Textbox

Sul sito di Fibia FBI ho visto come si fa il Mapping di un oggetto tramite
una classe. A parte che non so cosa vuol dire MAPPING ( l'ho letto in un
post precedente. Se qcn ha voglia di dirmelo....), ma come faccio a fare una
classe per gestire un array di textboxes? Non voglio la soluzione ma solo un
piccolo aiutino per iniziare.
Poi volevo chiedere: se ho 50 TextBox in una form, gestirle in quel modo
(creare 50 nuove istanze all'apertura della form per altrettanti oggetti)
non č "pesante"?
Un grazie a tutti.
Ciao

 Ciao
Io non capisco se vuoi fare una classe che abbia in ingresso un riferimento
ad una collection di textbox oppure se nella DLL hai form con delle textbox
indicizzate e vuoi riutilizzarle quando ti servono ...
Prova a spiegarti meglio ...
Saluti

Intanto grazie 1000 per avermi risposto..
Arrivo subito al dunque:
In una classe (SimulaTXT) metto il seguente codice per far si che ogni volta
che si posiziona su una casella di testo selezioni tutto il contenuto:
Public WithEvents CasellaTesto As TextBox
Private Sub CasellaTesto_GotFocus()
    CasellaTesto.SelStart = 0
    CasellaTesto.SelLength = Len(CasellaTesto.Text)
End Sub
Poi in una Form ho una casella di testo chiamata Txt.
Faccio:
Private CasellaNumBox1 As New NumTextBox
Private Sub Form_Load()
    Set CasellaNumBox1.CasellaTesto = Txt
End Sub
Private Sub Form_Terminate()
    Set CasellaNumBox1 = Nothing
End Sub
Come faccio a fare una classe per un'array di TextBox?
Per intenderci nella classe vorrei fare:
Private Sub CasellaTesto_GotFocus(index as Integer)
    CasellaTesto(index).SelStart = 0
    CasellaTesto(index).SelLength = Len(CasellaTesto(index).Text)
End Sub
Penso che la soluzione sia usare una collection di Txt come hai accennato,
solo
che non so da dove partire....
Se puoi aiutarmi....
Grazie Ancora
Ciao
Oz

La tecnica che stai utilizzando è chiamata Multicasting (e non ho ancora
capito se è la stessa cosa del Mapping).
Cito F. Balena nel paragrafo : Svantaggi del Multicasting
- La parola chiave WithEvents non funziona con array di variabile oggetto
......
- Non avete nessun controllo  sull'ordine di invio degli eventi alle
variabili WithEvents ......
- "Esiste un bug non documentato nell'implementazione della parola chiave
WithEvents da parte di VB: WithEvents non può essere utilizzata con
controlli che appartengono ad un array di controlli"
stranezza invece è, i controlli a matrice sono ActiveX creati in VB il bug
non si verifica ... ti lascio trarre le conseguenze .....
Saluti

Sigh, Sigh :))
E non c'è un'altro rimedio (tipo l'antibiotico o le Supposte..)?
P.s. mi serve davvero...
Ti ringrazio Much
Ciao
Oz

 P.s. mi serve davvero...
l'unica che ti posso dire e' di fare un array di istanze della
classe, ma e' un superspreco.
altrimenti ti costruisci un ctl apposito (e' facilissimo) che
sul getfocus seleziona automaticamente il testo ed utilizzi
quello al posto della textbox.
Fox: ottimo. non sapevo che si chiamasse multicasting.
cmq il mapping rimane. mappare significa assegnare,
far corrispondere. la tecnica non e' un mapping ma utilizza
il mapping.
--
Fibia "Sakamoto" FBI
E-mail: 
fibi...@hotmail.com
ICQ UIN 63586057
Sito Personale: 
http://www.geocities.com/fibiafbi
VB Simple: 
http://vbsimple.virtualave.net
Membro #25 delle Mitiche Brigate Takahashi sezione Sud

Se costruisco un ocx come dici tu, per poter intercettare in ogni form
gli eventi dell' ocx devo fare:
nell'ocx dichiaro tutti gli eventi di una normale textbox.
public event Click()
public event Gotfocus
---
---
---
---
Poi sempre nell'ocx quando la casella di testo riceve (ad es)
il gotfocus:
    raiseEvent GotFocus oppure RaiseEvent Click
Dopo aver inserito nella Form il mio ocx posso usarlo come una TextBox
normale.
Fare scaturire tutti questi eventi dalla TextBox all'ocx è un metodo
sbagliato?Pesa?
Spero di essere stato chiaro (anche se dubito...)
Ciao e grazie
Oz

 sbagliato?Pesa?
penso che effettivamente pesi molto di piu' che creare le istanze
della classe di cui avevamo parlato
a questo punto mi chiedo:
se sei disposto ad utilizzare le matrici perche' non scrivi la
normale funzione di evidenziazione nell'evento gotfocus della
normale textbox?
perche' overridare le singole caselle con un'altra classe?


 perche' overridare le singole caselle con un'altra classe?
Perchè devo intercettare oltre al Gotfocus tante altre cose....
E questo per ogni form...
Quindi volevo risparmiare un po di codice....
Ciao e grazie 1000
Oz