Accueil > FAQ > WinDev Fenêtres | FAQ |
Demandé et répondu par R&B le 27-Sep-2004 12:14 (4640 Lectures)
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 :
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
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
|