PC SOFT
DEPOT EN LIGNE
POUR WINDEVWEBDEV ET WINDEV MOBILE

WINDEV – Affichage d’une fenêtre au premier plan de manière permanente
Publié par EricWan
dans la catégorie Outils
Nouveautés



Description
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, copies d'écran
none
none
Avis des utilisateurs
(Pour noter la ressource, cliquez sur Ecrire un avis)
Bertin - Zen-Project
Bonjour,

Je me trompe ou c'est ce que fait la fonction Fenetat https://doc.pcsoft.fr/fr-FR/?3038030&name=fenetat_fonction
Nikos
Merci beaucoup pour cette contribution intéressante !
A PROPOS
EVALUATION :
51(1)
TELECHARGEMENTS :
73
PUBLIÉE :
10 janvier 2022
VERSION :
CONCERNE :
WINDEV
Version minimale : Toute version
TAILLE :
55,5 Ko