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.

Image non trouvée ! 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()