Affichage des ActiveX

Demandé et répondu par R&B le 27-Sep-2004 12:14

Affichage des ActiveX

La plupart des ActiveX se réaffichent mal dans Windev, si la fenêtre est bougée, redimensionnée, ou passe simplement en arrière-plan.

D'après ce que j'ai pu constater en analysant les messages avec Spy32++, il s'agit du message WM_PAINT que Windev ne retransmet pas aux champs ActiveX, et ceux-ci ne peuvent donc pas se réafficher lorsque nécessaire.
Le problème disparaît en plaçant la ligne de code :

AppelDLL32("user32", "UpdateWindow" , Handle("ChampActiveX"))

dans les événements de la fenêtre :
- Prise de focus
- Perte de focus
- Modification de la taille
- A chaque modification

En fait la fonction UpdateWindow() envoie à l'ActiveX le message
WM_PAINT que Windev oublie de transmettre...

Michel Fages

Cette Q&R a été trouvée sur WDForge.org : http://old.wdforge.org/modules/smartfaq/faq.php?faqid=49