JS prend en charge les événements du contrôle OCX. Lorsque l'événement défini par le contrôle OCX se produit, JS peut capturer l'événement et le gérer en conséquence.
Personnellement compris, c'est en fait qui complétera la réponse à l'événement. Le contrôle OCX lui-même peut certainement être implémenté. Le mécanisme fourni par JS permet à JS de compléter également la réponse à l'événement de contrôle OCX.
Un exemple simple est le suivant :
Ajoutez d'abord des événements personnalisés dans le contrôle OCX (il en va de même pour les événements prédéfinis, comme les clics de souris, etc. Je ne l'ai pas essayé moi-même, mais le principe devrait être le même),
L'événement doit appartenir à la fenêtre, alors faites un clic droit sur la classe Ctrl, Ajouter->Ajouter un événement, comme indiqué ci-dessous :
Entrez le nom de l'événement dans la boîte de dialogue ouverte, telle que OnChange. Si des paramètres sont requis, définissez les informations sur les paramètres et cliquez sur [Terminer].
//Mappage d'événements
BEGIN_EVENT_MAP(CH_OcxCtrl, COleControl)
EVENT_CUSTOM_ID("OnChange", eventidChange, OnChange, VTS_NONE)
END_EVENT_MAP()
Eh bien, la définition de l'événement est terminée, puis l'événement doit être déclenché. Vous pouvez appeler OnChange() dans une fonction du contrôle OCX pour déclencher l'événement.
La définition des événements du contrôle OCX est désormais terminée.
L'étape suivante est la réponse à l'événement en JS, le code est le suivant,
MyCtrl est l'ID d'objet de contrôle OCX du contrôle dans cette page (le nom semble fonctionner, mais je ne l'ai pas essayé). Cet objet peut être exploité en javascript.
OnChange() est un événement dans le contrôle OCX. Le nom de l'événement ici doit être le même que le nom de l'événement dans le contrôle OCX.
Si l'événement a des paramètres, lorsque l'événement est déclenché, le contrôle OCX transmettra les paramètres correspondants. Par exemple, l'événement a deux paramètres p1 et p2, qui peuvent être écrits sous la forme event = "OnChange(param1,param2)". cette fois, param1 et param2 correspondront à Après avoir reçu p1 et p2, il en va de même pour Call(param1,param2).
Il a été écrit à la hâte et l'expression linguistique n'est pas très claire. L'idée de base est la suivante, juste pour mémo.