BOOL SetWindowPos ( const CWnd * pWndInsertAfter, int x, int y, int cx, int cy, UINT nFlags );
Valeur de retour
Différent de zéro si la fonction est réussie ; sinon 0.
Paramètres
pWndInsertAfter
Identifie l'objet CWnd qui précédera cet objet CWnd dans l'ordre Z. Ce paramètre peut être un pointeur vers un CWnd ou un pointeur vers l'une des valeurs suivantes:
Consultez la section « Remarques » de cette fonction pour les règles sur la façon dont ce paramètre est utilisé.
x
Spécifie la nouvelle position du côté gauche de la fenêtre.
y
Spécifie la nouvelle position du haut de la fenêtre.
cx
Spécifie la nouvelle largeur de la fenêtre.
cy
Spécifie la nouvelle hauteur de la fenêtre.
nFlags
Spécifie les options de positionnement et de dimensionnement. Ce paramètre peut être une combinaison des éléments suivants:
Remarques
Appelez cette fonction membre pour modifier la taille, la position et l'ordre z des fenêtres de pop-up et le niveau supérieur des enfants,.
Windows sont ordonnés à l'écran selon leur ordre Z ; la fenêtre en haut de l'ordre z apparaît en haut de toutes les autres fenêtres dans l'ordre.
Toutes les coordo&nnées pour les fenêtres enfants sont client coordonnées (par rapport au coin supérieur gauche de la zone client de la fenêtre parente) .nbsp;
Une fenêtre peut être déplacée vers le haut de l'ordre z soit en définissant le paramètre pWndInsert&After amp ; wndTopMost et veiller à ce que la SWP_NOZORDER du drapeau n'est pas définie, ou en définissant Z-order une fenêtre afin qu'elle est au-dessus de toute fenêtre topmost existants. Lorsqu'une fenêtre de nontopmost supérieure, sa propriétés windows sont aussi faits supérieurs. Ses propriétaires ne sont pas modifiés.
Une fenêtre supérieure n'est plus h&aute si il est repositionné au fond (amp ; wndBottom), de l'ordre z ou après n'importe quelle fenêtre nontopmost. Quand on faite nontopmost une fenêtre de premier plan, tous ses propriétaires et ses fenêtres appartenant sont faites également windows nontopmost.
Si ni SWP_NOACTIVATE ni SWP_NOZORDER n'est spécifié (c'est-à-dire, lorsque l'application demande qu'une fenêtre simultanément activée et placée dans l'ordre spécifié), la valeur spécifiée dans pWndInsertAfter est utilisée uniquement dans les cas suivants:
Une application ne peut activer une fenêtre inactive sans apporter également le haut de l'ordre Z. Les applications peuvent changer l'ordre d'une fenêtre activée sans restrictions.
Une fenêtre nontopmost peut posséder une fenêtre de premier plan, mais pas l'inverse. N'importe quelle fenêtre (par exemple, une boîte de dialogue) appartenu à une fenêtre supérieure est elle-même fait une fenêtre de premier plan pour s'assurer que tout propriétaire windows restent au-dessus de leur propriétaire.
Avec les versions de Windows 3.1 et plus tard, windows peuvent être déplacés vers le haut de l'ordre z et verrouillés il en définissant leur style WS_EX_TOPMOST . Telle une fenêtre supérieure maintient sa position supérieure même lorsque désactivé. Par exemple, en sélectionnant la WinHelp toujours On Top rend la fenêtre d'aide supérieure et il puis reste visible lorsque vous retournez à votre application.
Pour créer une fenêtre de premier plan, appelez SetWindowPos avec le paramètre pWndInsert&After égal à amp ; wndTopMost, ou définir le style WS_EX_TOPMOST , lorsque vous créez la fenêtre.
Si l'ordre z contient toutes les fenêtres &avec le style WS_EX_TOPMOST , une fenêtre s'installe avec la valeur amp ; wndTopMost est placée au sommet de toutes les fenêtres de nontopmost, mais sous les fenêtres supérieurs. Lorsqu'une application active une fenêtre inactive sans le bit WS_EX_TOPMOST , la fenêtre est déplacée au-dessus de toutes les fenêtres de nontopmost mais sous les fenêtres supérieurs.
Si SetWindowPos est appelée lorsque le paramètre pWndInsert&After est amp ; wndBottom et CWnd est une fenêtre de premier plan, la fenêtre perd son statut de premier plan (WS_EX_TOPMOST est désactivée) et le système place la fenêtre au bas de l'ordre z.
Aperçu de CWnd |nbsp ; Membres de la classe | Graphique de la hiérarchie
Voir aussinbsp ; :: Error_invalid_dwp_handle, :: SetWindowPos