Comment afficher les activeX

Auteur : Michel FAGES

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...