Informer un utilisateur sans le perturber...
Date 7/2/2005 0:10:00 | Sujet : Trucs et astuces
| Voici un petit exemple pour afficher une fenêtre par-dessus toutes les autres sans prendre le focus. Une ressource utile pour informer et prévenir sans déranger le travail paisible de l’utilisateur...
Le comportement API des fenêtres se trouve dans la User32.dll. On va appeler tout naturellement la fonction SetWindowPos.
Pour l’exécuter il faut réunir les ingrédients suivant : - le Numero (entier) du Handle de la fenêtre - les coordonnées spaciale X,Y à partir desquelles on commence à afficher la fenêtre. - les constante HWD_TOPMOST(-1) et WP_SHOWNOACTIVATE (16)
Puis s'exercer avec APPELDDL32.
Petite astuce : ouvrir la fenêtre hors écran, et la piloter par une procédure locale depuis une fenêtre/projet pour lui initimer la volonté de s’afficher.
Secret de grand-mère : ajouter un effet de transparence à la fenêtre vous gagnerez 36 mois d’avance sur Windows 6
Bon codage
CONSTANT
HWND_TOPMOST = -1
SWP_SHOWNOACTIVATE = 16
FIN
//Initialisation fenêtre
Hwnd is int = Handle(moimeme)
// Penser à afficher la fenêtre en hors écran
Procédure XYZ()
// Paramètre les informations de la Fénêtre : position etc...
AppelDLL32("user32","SetWindowPos", hwnd, HWND_TOPMOST, Display..X,Display..Y, Display..Largeur, Display..Hauteur,SWP_SHOWNOACTIVATE)
// Affichage de la fenêtrr
AppelDLL32("user32","ShowWindow",hwnd,8)
|
|