Les fonctions indiquant l'état d'une fenêtre
IsWindowVisible
Cette fonction indique que la fenêtre n'est pas cachée !
BOOL IsWindowVisible(
HWND hwnd
);
Les paramètres:
hwnd : handle de la fenêtre à contrôler
cf. Afficher ou cacher une fenêtre
En sortie:
Si la fenêtre est visible, la valeur est différente de 0. Sinon, la fonction retourne 0.
IsIconic
Cette fonction nous indique que la fenêtre est sous forme d'icône ou non
BOOL IsIconic(
HWND hwnd
);
Les paramètres:
hwnd : handle de la fenêtre à contrôler
En sortie:
Si la fenêtre est iconifiée, la valeur est différente de 0. Sinon, la fonction retourne 0.
cf. Afficher ou cacher une fenêtre
IsZoomed
Cette fonction indique que la fenêtre occupe tout l'écran suite à un ordre correspondant (Ex. bouton agrandissement maximum).
BOOL IsZoomed(
HWND hwnd
);
Les paramètres:
hwnd : handle de la fenêtre à contrôler
En sortie:
Si la fenêtre est maximisée, la valeur est différente de 0. Sinon, la fonction retourne 0.
cf. Afficher ou cacher une fenêtre
IsWindow
Cette fonction indique que la fenêtre existe toujours...
BOOL IsWindow(
HWND hwnd
);
Les paramètres:
hwnd : handle de la fenêtre à contrôler
En sortie:
Si la fenêtre existe, la valeur est différente de 0. Sinon, la fonction retourne 0.
Attention : risque d'erreur: Si le thread qui déclenche la fonction n'est pas le thread qui a créé la fenêtre, la fonction peut fort bien retourner que la fenêter existe alors qu'il ne s'agit peut-être plus de la même fenêtre (Cas où la fenêtre est détruite et que Windows redonne le même handle pour une nouvelle fenêtre).
IsWindowEnable
...
GetTitleBarInfo : fonction va récupérer des informations sur la partie liée à la barre de titre:
BOOL GetTitleBarInfo(
HWND hwnd,
PTITLEBARINFO pti
);
Les Paramètres:
hwnd : handle sur la barre de titre
pti : Pointeur sur une structure de type TITLEBARINFO qui recevra les informations.
Il faut renseigner
TITLEBARINFO.cbSize par sizeof(TITLEBARINFO) avant d'appeler la fonction.
En sortie, la fonction retourne 0 si erreur.
La structure TITLEBARINFO est la suivante:
typedef struct {
DWORD cbSize;
RECT rcTitleBar;
DWORD rgstate[CCHILDREN_TITLEBAR+1];
} TITLEBARINFO, *PTITLEBARINFO, *LPTITLEBARINFO;
Avec :
cbSize : taille en octet de la structure. Utilisez sizeof(TITLEBARINFO).
rcTitleBar Pointeur sur une structure RECT qui contient les coordonnées
de la zone de la barre de titre (Le menu n'en
faisant pas partie).
rgstate Pointeur sur un tableau contenant des informations sur la barre de titre.
Les indexs du tableau représentant:
0 Pour la barre de titre
1 Réservé.
2 Pour le bouton minimser.
3 Pour le bouton maximiser.
4 Pour le bouton HELP.
5 Pour le bouton Close.
Chaques éléments pouvant prendre la valeur suivante:
Valeur | Désignation |
STATE_SYSTEM_FOCUSABLE | L'élément peut recevoir le focus |
STATE_SYSTEM_INVISIBLE | L'élément est invisible |
STATE_SYSTEM_OFFSCREEN | L'élément n'a pas de dessin |
STATE_SYSTEM_UNAVAILABLE | L'élément n'est pas valable ou n'existe pas |
STATE_SYSTEM_PRESSED | L'élément est dans un état préssé |
Cf. Créer une fenêtre, SetWindowText(), GetWindowText(), GetWindowTextLength()