Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - Eventi in una OCX
Forum - Visual Basic 6 - Eventi in una OCX

Avatar
Paolo1972 (Normal User)
Newbie


Messaggi: 1
Iscritto: 21/10/2008

Segnala al moderatore
Postato alle 19:06
Martedì, 21/10/2008
Salve, mi sono appena iscritto e spero di trovare qui un aiuto ad un mio problema.
Sto cercando di creare una OCX e mi sono putroppo arenato su un fatto.
La OCX che sto creando contiene tre label, una Image e una frame la quale contiene i quattro controlli prima citati.
Sono riuscito (un pò con l'autocomposizione guidata un pò da solo) a creare tutte le proprietà che mi servono su tutti i controlli compreso lo UserControl.

Mi manca una cosa fondamentale...anzi due cose sono molto utili mentre una terza è fondamenale. Si tratta degli eventi MouseUp e MouseDown (molto utili) e dell'evento Click (fondamentale).

Per inserire questi eventi nella OCX ho scritto il seguente codice:
Nella dichiarazione di eventi:

Event MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) 'MappingInfo=UserControl,UserControl,-1,MouseUp
Event MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) 'MappingInfo=UserControl,UserControl,-1,MouseDown
Event Click() 'MappingInfo=UserContron,UserControl,-1,Click

e poi di seguito

Private Sub UserControl_Click()
RaiseEvent Click
End Sub

Private Sub UserControl_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
RaiseEvent MouseUp(Button, Shift, X, Y)
End Sub

Private Sub UserControl_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
RaiseEvent MouseDown(Button, Shift, X, Y)
End Sub

(Si tratta dell'autocomposizione guidata come si può ben vedere :-))
La OCX mi viene compilata correttamente, la riesco ad inserire in un progetto (ho creato un progetto di prova con un solo form), ma quando faccio partire il progetto mi va in run time error 404. Purtroppo riaprendo quel form (l'esecuzione del progetto è terminata ovviamente) mi da lo stesso errore, nonostante tutto riesco ad aprire il form il controllo da me creato appare nero...vabbè questo giusto per dire tutto quello che ho riscontrato.

Vorrei sapere se qualcuno mi sa dire dove sta l'errore nel codice. Ah...una cosa: lo stesso identico codice (solo per l'evento click) associato ad un command button (ho creato altre ocx senza avere questo problema) funziona perfettamente...non è per caso che i tre eventi non possono essere associato ad uno UserControl, ma soltanto ad uno o più controlli inseriti in esso?

Se così fosse a me serve, come già detto, almeno l'evento click e come posso fare?

Spero che nessuno abbia pensato alla soluzione di assciare un evento click ad ogni controllo...

Grazie a tutti per la risposta

P.S.: se oltre alla soluzione mi venisse fornito un link (assolutamente no di Microsoft...per favore) dove reperire altre informazioni sulle creazioni delle OCX sarebbe l'optimum...di nuovo grazie a tutti.

PM Quote