Newsgroup: it.comp.appl.access
Titolo: Passare parametri a funzione su  Evento MouseDown

Cerco una soluzione per scrivere poco.
Ho un centinaio di checkbox (solito questionario)
A fronte dell'evento  mousedown vorrei far apparire una textbox per 
inserire del testo.
Una sola text deve servire tutti i checkbox ed ho bisogno di avere
due informazioni: il tasto mouse premuto e il controllo di riferimento
Cosa vorrei ottenere:
Fare una chiamata ad un unica funzione da inserire nelle proprieta'
come routine di evento
i.e. =ControlloTesto(x)
il problema e': devo passare la x che dovrebbe indicarmi quale tasto
del mouse e' stato premuto (l'active control non e' un problema)
Ogni suggerimento e' benvenuto
Ringraziamenti anticipati
--
a.cara

Alessandro Cara wrote:
Accipicchia, è così difficile aver tue richieste.

Private Sub Corpo_MouseDown(Button As Integer, Shift As Integer, X As
Single, Y As Single)
If Button = 1 Then MsgBox "ciao"
If Button = 2 Then MsgBox "Ariciao"
End Sub
-- 
_ _
Ciao
MAssimiliano Amendola
Cisa1 - I° Conferenza Italiana per Sviluppatori Access Arezzo 4+5
Giugno 2005 Sono aperte le iscrizioni  Info:  
www.donkarl.com/it

 wrote in message
news:335ge.144299$%
I2.8...@tornado.fastwebnet.it

Da quanto capito vorresti inserire una funzione al posto della
ROUTINE EVENTO al fine di minimizzare l'elenco delle SUB.
Il problema è che non credo si possa individuare quale Pulsante
senza accedere alla Routine Evento
Private Sub XXXXX_MouseDown(Button As Integer, Shift As Integer, X As
Single, Y As Single)
  If Button = acRightButton Then
        ' SOLO ORA SAI QUALE PULSANTE E' STATO PREMUTO...!
        ' ORA ESEGUI LA ROUTINE
        Call ControlloTesto()
  End If
End Sub 
Non credo però che tu non abbia già valutato questa cosa, pertanto
forse mi sfugge un dettaglio....!
Ciao
@Alex
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 If Button = 2 Then MsgBox "Ariciao"
Grazie MA
Sia che vada (99,99%) che non vada (00,01%) se passi da Roma ciai er 
caffe' pagato
In questo modo pero' dovrebbe intercettarmi *tutti* i mousedown su 
*qualsiasi* controllo ?!
Vabbe' se e' cosi' mi sprechero' con una if in piu'
(a sto punto il caffe' e' amaro se lo prendi dolce e dolce se lo prendi 
amaro o per essere cattivo senza neanche una *c*;<)
Vado ad eseguire.
PS. Sto lavorando con un A2003 appena installato. Me sta a fa incazza' e 
manco poco. Fortunatamente sto con la radio su internet e mi tiene 
allegro il Mississippi Blues ora c'e':
It's A Man Down There
  G.L. Crocket
  Blues Masters Volume 6: Blues Originals
  Crockett/Daniels
  Rhino
  1965
--
a.cara


Yessss, ho fatto una cosa leggermente diversa, praticamente uguale.
Private Sub XXXXX_MouseDown(Button As Integer, Shift As Integer, X As
  Single, Y As Single)
          Call ControlloTesto(button)
  End Sub
Il bottone lo valuto direttamente nella funzione chiamata.
Quello che volevo era di poter mettere direttamente sulla proprieta'
il richiamo a funzione o addirittura forzandolo via codice con un ciclo tipo
for i=1 to oggetti.count
	me("cT" & i).onmousedown = "=ControlloTesto(x)"
next
cosi' scrivevo ancora meno solo che quella maledetta x la ottengo
solo al momento dell'evento
Adesso chi glielo dice a MA che gli tocca un caffe' in ogni caso
"adulterato" poiche' il suo consiglio sfortunatamente non funziona?
--
a.cara

 
Sfortunatamente non funziona. O meglio, giustamente funziona solo sul 
corpo. Non funziona se sono su un controllo.
Ed adesso cerca di evitare Roma altrimenti ti tocca un caffe' non in regola
--
a.cara

Alessandro Cara ha scritto:

Già che siamo in periodo di CISA1... penso che si possa fare con poche
righe di codice usando withevents: una classe contenente un'oggetto
checkbox dichiarato con withevents che punterà alle checkbox sulla form, e
la relativa sub evento mousedown.
All'apertura della form crei con un ciclo n istanze della classe e le
associ a ciascun controllo.
Namor
-- 
namor at inwind punto it
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 a.cara
Scusa i CUT ma da Mailgate è un macello rispondere...!
Direi che hai risolto in modo molto elegante e decisamente
Funzionale.


 Namor
Già, addirittura pensando in grande si potrebbe sfruttare
l'ereditarietà delle Calssi che in A>2000 viene supportata
tramite IMPLEMENTS per inserire nella Classe di Form l'associazione
alla Classe di cui Sopra, in modo da ottenere un CallBack
diretto.
E' una tecnica usata soprattutto in VB per l'ereditarietà di Eventi
tra Classi, anche se VB supporta al massimo 2 livelli (anche VBA).


Alessandro Baraldi ha scritto:



Mai provato questo. Interessante. Dovrò decidermi a cambiare il PC e
comprarmi un Access recente per studiarmi le novità.
Ciao.


 Namor
Addirittura puoi definire EVENTI di Classe, ed in questo modo
renderli Attivi sulla Form stessa.
Stavo ricostruendo il Controllo Winsock via Codice(API) e volevo gestire
gli EVENTI DATA_ARRIVAL/SEND_PROGRESS ecc... proprio in questo modo
al fine di non usare l'OCX ma di averne le medesime funzionalità.
In particolare in ogni caso per questo esempio dovresti gestire al
meglio Collection di Controlli, ma saresti limitato nella possibilità
dell'Enumerazione dei controlli, alchè la cosa migliore è creare
una CLASSE(che gestisce la collection) che a sua volta istanzia 
SottoClassi.
In questo modo rendi disponibile la proprietà Enum(non documentata)
dalla Classe Genitore.
Essendo solo 2 i livelli dovrebbe essere gestibile l'ereditarietà
di EVENTI e PROPRIETA' delle classi Figlie direttamente dalla
FORM che eredita tramite IMPLEMENTS la Classe PADRE.



uhmmm...... normalmente il withevents non lo uso. Ho anche cercato 
sull'help poiche', insieme alla callback, poteva essere un modo di
poter superare il problema non e' che abbia trovato molto.
La struttura che mi suggerisci, ad occhio, mi sembra avere buone
possibilita' di successo. Vedo di farmi un po' di cultura e poi
affronto il problema. Per il momento mi sono fatto una vagonata di
copia e incolla.
Grazie namor
--
a.cara