Newsgroup: it.comp.lang.visual-basic
Titolo: Oggetti Standard

Una grandissima parte del tempo
di sviluppo la impiego a costruire controlli
sui campi.
Mi spiego se ho una textbox che è legata ad un campo
di database che accetta solo numeri, cerco di non far
inserire all'utente delle lettere nella textbox,
magari utilizzando l'evento keypress.
Solo che devo farlo per tutti i textbox presenti
nelle mie form (se presentano numeri ma questo è solo 
un esempio).
A me piacerebbe avere (come in Java) la possibilità
di impostare le proprietà per un unico textbox
e poi farle ereditare a tutti gli altri.
Sarebbe per me comodo in un certo senso avere
un textboxc per i caratteri, un textboxN per i numeri,
textboxD che accetta solo date di un determinato
valore, un textboxBlu che ha lo sfondo blu, è multiline
ed accetta solo i caratteri maiuscoli.
Voi come fate?
Avete idee?
ma soprattutto sono stato chiaro?
             danilo
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 
Soluzione immediata (probabilmente c'e' di meglio): creati una wrapper-class a 
cui assegnare il tuo controllo, che ne gestisca e modifica il comportamento 
come ti serve.
Tempo fa avevo provato a giochicchiarci (se non ricordo male, il test l'avevo 
fatto proprio su una casella di testo, per evidenziare/de-evidenziare il 
contenuto con gli eventi GotFocus/LostFocus), e la cosa sembrava fuzionare 
benino...
-- 
Bye by SixaM 8-]
---------------------
Sito comune  : 
www.it-lang-vb.net
Aiuto on line: premi F1
- Ricordati che lo strumento piu' importante ce l'hai tra le orecchie.
- mmm...la forfora?

SixaM ha scritto:
[CUT]
Potresti mandarmi un esempio?


              danilo
ciaociao

 e poi farle ereditare a tutti gli altri.
In VB6 non puoi fare niente di tutto questo, o almeno non in modo 
semplice e/o riutilizzabile.
Per il controllo sull'imput la soluzione secondo me è controllare al 
momento del salvataggio se c'è qualcosa che non va su tutti  i campi.
Altrimenti puoi farti un array di controlli e gestirti un solo evento 
per tutti quelli dello stesso tipo.
Oppure ti fai un controllo utente che implementa una textbox e gestisci 
ciò che ti serve.
Ciao
-- 
Math Parser : 
http://www.neodatatype.net
Sito Comune : 
http://www.it-lang-vb.net

 
Non ce l'ho sotto mano, ma mi ricordo che nella classe definivo un oggetto co n 
una sintassi del tipo 
Dim WithEvents PrivateTB as TextBox
e avevo una sub pubblica tipo
Public Sub Init(Tb as TextBox)
	set PrivateTB = Tb
End Sub
In questo modo, nella classe potevo scrivere codice negli eventi del mio 
oggetto PrivateTB, che 'avvolgeva' l'oggetto originale.
Nel codice, nell'evento Form_Load, scriverai una cosa del tipo
Dim WCTextBox as New <Nome della classe>
WCTextBox.Init <nome della textbox



Aggiungi una proprietą?
Sģ, si puņ fare, ma non cosģ semplicemente come tu lo descrivi, iin vb6
l'ereditarietą non c'č.
E qui qualcuno dirą **aridaje**!
Io ho fatto qualcosa di simile, ma non ci ho messo 5 minuti, sono diventato
matto a trasferire quasi tutte (tutte is not possible) le proprietą, i
metodi e gli eventi di un textbox standard al mio usercontrol e poi ho degli
eventi che non posso usare perchč mi mandano in crash Vb.
Poi ci sono le proprietą di sola lettura, e non aggiungo altro in merito, se
n'č parlato anche da poco.
Quindi attenzione perchč ho scoperto sulla mia pelle che progetti di questo
tipo sono terreno minato, facili finchč non ci metti le mani sopra, poi
quando ti metti a farli sul serio sono tutta un'altra storia.
VB6 ahimč non č proprio adatto a queste cose, ha tanti pregi, ma alcuni
macrodifetti tipo questo che rompono molto le palle.

 alcuni macrodifetti tipo questo che rompono molto le palle.
se ti riferisci alla mancanza dell'ereditarietą..... lo sappiamo da sempre,
e comunque continuiamo ad utilizzarlo! ;-)
ma tanto adesso c'č .NET quindi....checcefrega?
basta riscrivere il software da capo e abbiamo risolto il problema della
text blu multiline...giusto? ;-))))))
ciaociao

              danilo
Io mi sono costruito qualche ocx che serve allo scopo, con una proprietà che
mi espone il tipo di dato accettato
altre due (opzionali) con il range di valori.
Funziona, sicuramente possono esistere soluzioni migliori.
Ciao,
Massimo
-- 
web: 
www.piubelli.net
Vuoi il mio indirizzo? Togli _cut_ per rispondermi