Newsgroup: it.comp.appl.access
Titolo: Problemi con WithEvents

Ho creato un modulo di classe per la gestione dei ComboBox all'interno del
quale ho dichiarato una variabile "Private WithEvents cb As ComboBox".
All'interno della classe ho dichiarato degli eventi relativi a questa
variabile ma non vengono richiamati e non riesco capire il perché (vengono
richiamati solo se c'è il relativo evento nel form nel quale c'è l'oggetto
ComboBox anche se al suo interno non c'è una riga di codice). C'è qualcuno
che può aiutarmi? Grazie.

 ha scritto nel messaggio
news:RHnm8.51418$%g7.15...@twister2.libero.it...

Innanzitutto, credo, che la tua variabile la devi dichiarare pubblica all'
interno della classe.
Poi, sul caricamento della maschera, istanzi la classe e imposti l'oggetto
della classe rispetto al tuo.
*nel modulo di classe
Public WithEvents cboBox As ComboBox
sub cboBox_Click
    msgbox "cucu!"
end sub
*modulo di form*
Dim Cl as Classe
Sub Form_Load
    set cl = new Classe
    set cl.CboBox = me.combo
end sub
ciao.

 ha scritto nel messaggio
news:a7d3be$kgefp$1...@ID-57322.news.dfncis.de...



l'errore è sulla chiamata alla classe!
una classe non la puoi richiamare con call, devi isitanziarla con SET o con
un CREATEOBJECT
 *modulo di form*
 Dim Cl as Classe
 Sub Form_Load
     set cl = new Classe
     set cl.CboBox = me.combo
 end sub
e inizializzare la varibile del combo da dentro il form, sull'evento Load (o
open).
non è come vb.........
ciao.

 ha scritto nel messaggio
news:itEm8.55095$%g7.17...@twister2.libero.it...

stai sbagliando la routine di evento sulla classe.
Nello specifico, l'evento dblClick ha il parametro cancel as integer.
Classe:
Option Compare Database
Option Explicit
Public WithEvents cboBox As ComboBox
Private Sub cboBox_DblClick(cancel As Integer)
    MsgBox "cucu!"
End Sub
ciao.

 ha scritto nel messaggio
news:a7f5u6$kp22l$1...@ID-57322.news.dfncis.de...

Un ultima cosa..... FONDAMENTALE... nelle proprietŕ di evento del controllo
devi specificare [routine evento] negli eventi che ti interessa gestire con
la classe.
ciao.

 Un ultima cosa..... FONDAMENTALE... nelle proprietà di evento del


 
Scrivilo nel MODULO DI CLASSE l'attivazione dell'EVENTO...!!!
Nel Modulo di Classe dove attribuisci la Variabile Privata CB(Combo)
scrivi:
Me.TuoRiferimentoControllo.OnClick="[Event Procedure]" '[Routine evento]
In questo modo imposti dal Modulo di Classe l'Evento nella ComboBox.
Alessandro.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ha scritto nel messaggio
news:f04417e4524447dd8f...@mygate.mailgate.org...

credo di non aver capito.
In quale momento attribuisci [Event Procedure] al controllo?
e da dove?
.... incuriosito....
ciao.

 ciao.
Io presumo ci sia una Variabile Privata interna al Modulo di Classe
che sia Es.: 
Dim CB as ComboBox
e che tramite un SET si associ la Variabile Privata alla Combo
della Form in questo modo:
''''''''  NEL MODULO DI CLASSE '''''''''''
Property Set Combo_Form (Ctl as ComboBox)
   Set CB=ctl
   Me.CB.OnClick="[Event Procedure]" '[Routine evento]
End Property
Private Sub CB_OnClick()
   'Tutto il Codice che vuoi.............
End Sub
''''''''  NELLA FORM   ''''''''''''
Suppomiamo di Chiamare il Modulo di Classe "clsProva"
Dim Mc as clsProva
Su evento Open 
Set Mc=new clsProva
Set mc.Combo_Form=Me.MiaComboBox
In questo modo attribuisci l'Evento ONCLICK della COMBOBOX nella
Form all'Evento all'interno del Modulo di Classe, solo che viene
eseguito dopo, nel caso ci sia del codice anche nella Form.....!!
Ciao.


 
Ho commesso un ERRORE.
L'evento da attribuire è OnClick, ma la sub Evento è Click:
 Private Sub CB_Click()
    'Tutto il Codice che vuoi.............
 End Sub
Scusa l'errore.
P.S. sono gestibili in questo modo tutti gli eventi dell'OGGETTO
in questione inserendoli nel modulo di classe....!!
