WINDEV – Affichage d’une fenêtre au premier plan de manière permanente |
|
|
Comment afficher une fenêtre Windows toujours au dessus des autres ?
Sous Windows, et ce depuis de nombreuses versions, il est possible d’afficher une fenêtre au dessus de toutes les autres (Top Most), un peu comme une « boite à outils ». Pour ce faire, il faut utiliser lors de la création d’une fenêtre avec l’API CreateWindowEx(), l’attribut HWND_TOPMOST. Hors cette option n’est pas disponible depuis WINDEV. La solution est donc de modifier l’attribut de la fenêtre souhaitée en premier plan à l’aide de l’API Windows SetWindowPos(). Cette fonction, essentiellement utilisée pour changer la position d’une fenêtre, permet également dans changer les attribut et donc d’y ajouter le fonctionnement dit « Top Most »,
Code WINDEV à implémenter :
Voici l’appel à l’API à ajouter dans la secrtion code « Fin d’initialisation » de la fenêtre concernée : API("user32","SetWindowPos", Handle(MaFenêtre..Nom),-1,0,0,0,0,3)
Ou : (4eme paramètre) -1 correspond à la valeur de la constante HWND_TOPMOST
(9eme paramètre) -3 correspond aux valeurs cumulée de : SWP_NOMOVE + SWP_NOSIZE
Notes et références :
Documentation Microsoft sur la fonction SetWindowPos() : https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setwindowpos
|
| |
| |
| Illustrations, screen shots |
|
| |
(To evaluate this resource, click 'Write a review') |
| | | |
No review or comment? Be the first one! |
Bonjour,
Je me trompe ou c'est ce que fait la fonction Fenetat https://doc.pcsoft.fr/fr-FR/?3038030&name=fenetat_fonction |
| Merci beaucoup pour cette contribution intéressante ! |
| | |
|
Minimum version: Toute version |
| | | | | |