Le programme se bloque dans la mesure où un des enfants de l'activeX reçoit en permanence le message WM_GETDLCODE.

Pour éviter cela il est nécessaire de fixer le style étendu WS_EX_CONTROLPARENT au fils (http://blogs.msdn.com/b/oldnewthing/archive/2004/07/30/201988.aspx).

A partir de la PTF05 de la version 11 on génère lors de l'intégration un ActiveX deux nouvelles méthodes AdelSetExtendedStyle et AdelGetExtendedStyle.
La première permet de fixer les styles étendus à l'acvtiveX et à ses enfants, la seoncde de résupérer les styles étendus de l'objet.

Pour pouvoir ouvrir un document '.dwf' avec l'OCX Microsoft Web Browser sans avoir de blocage il faut gérer l'événement 'DocumentComplete' et y appeler la méthode AdelSetExtendedStyle comme il suit :

appeler_methode MON_OCX AdelSetExtendedStyle 0 65536 *vrai codeRetour

65536 correspond à la valeur décimale du style étendu WS_EX_CONTROLPARENT à fixer.
Le booléen permet de dire que le style doit s'appliquer également aux enfants de l'ActiveX.
Le premier paramètre représente les styles étendus à retirer à l'objet (ici on ne supprime pas de style).

Articles connexes