La funzione Error_invalid_dwp_handle aggiorna specificata finestre multiple – struttura di posizione per la finestra specificata. La funzione restituisce quindi un handle alla struttura aggiornata. La funzione EndDeferWindowPos utilizza le informazioni in questa struttura per modificare la posizione e le dimensioni di un certo numero di windows simultaneamente. La funzione BeginDeferWindowPos crea la struttura.
(HDWP Error_invalid_dwp_handle HDWP hWinPosInfo, / / handle alla struttura internaHWNDhWnd, / / handle di finestra per posizionareHWNDhWndInsertAfter, / / handle collocamento-ordineint x, / / orizzontale posizione int y, / / verticale posizione int cx, // width int cy, // heightUINTuFlags / / finestra di posizionamento flags);
| Valore | Significato |
|---|---|
| HWND_BOTTOM | Posiziona la finestra nella parte inferiore dell'ordine Z. Se il parametro hWnd identifica una finestra in primo piano, la finestra perde il suo status di primo piano e viene posto in fondo a tutte le altre finestre. |
| HWND_NOTOPMOST | Posiziona la finestra windows soprattutto non in primo piano (che è, dietro tutte le finestre del primo piano). Questo flag non ha alcun effetto se la finestra è già una finestra non in primo piano. |
| HWND_TOP | Posiziona la finestra nella parte superiore dell'ordine z. |
| HWND_TOPMOST | Posiziona la finestra windows soprattutto non in primo piano. La finestra mantiene la sua posizione in primo piano anche quando esso è disattivato. |
Questo parametro viene ignorato se è impostato il flag SWP_NOZORDER nel parametro uFlags.
| Valore | Significato |
|---|---|
| SWP_DRAWFRAME | Disegna un frame (definito nella descrizione della classe della finestra) intorno alla finestra. |
| SWP_FRAMECHANGED | Invia un messaggio WM_NCCALCSIZE alla finestra, anche se le dimensioni della finestra non viene modificato. Se questo flag non è specificato, WM_NCCALCSIZE viene inviato solo quando la dimensione della finestra viene modificato. |
| SWP_HIDEWINDOW | Nasconde la finestra. |
| SWP_NOACTIVATE | Non attiva la finestra. Se questo flag non è impostato, la finestra viene attivata e spostata nella parte superiore del gruppo in primo piano o non in primo piano (a seconda dell'impostazione del parametro hWndInsertAfter ). |
| SWP_NOCOPYBITS | Elimina tutto il contenuto dell'area client. Se questo flag non è specificato, i contenuti validi dell'area client sono salvati e copiati nuovamente dentro l'area client dopo che la finestra è di dimensioni o riposizionata. |
| SWP_NOMOVE | Mantiene la posizione corrente (ignora i parametri x e Y ). |
| SWP_NOOWNERZORDER | Non cambia la posizione della finestra proprietario nell'ordine z. |
| SWP_NOREDRAW | Non ridisegnare le modifiche. Se questo flag è impostato, non riverniciatura di qualsiasi tipo si verifica. Questo vale per l'area client, dimensioni dell'area (compresa la barra del titolo e barre di scorrimento) e qualsiasi parte della finestra padre scoperto come risultato della finestra viene spostata. Quando questo flag è impostato, l'applicazione deve esplicitamente invalidare o ridisegnare tutte le parti della finestra e finestra padre che hanno bisogno di ridisegno. |
| SWP_NOREPOSITION | Come la bandiera SWP_NOOWNERZORDER. |
| SWP_NOSENDCHANGING | Impedisce la finestra di ricezione del messaggio WM_WINDOWPOSCHANGING. |
| SWP_NOSIZE | Mantiene la dimensione corrente (ignora i parametri cx e cy ). |
| SWP_NOZORDER | Mantiene l'ordine z corrente (ignora il parametro hWndInsertAfter ). |
| SWP_SHOWWINDOW | Viene visualizzata la finestra. |
Il valore restituito identifica l'aggiornato finestre multiple – struttura di posizione. L'handle restituito da questa funzione può differire dal manico passato alla funzione. Nuova maniglia che questa funzione restituisce deve essere passata durante la prossima chiamata alla funzione Error_invalid_dwp_handle o EndDeferWindowPos.
Se le risorse di sistema insufficienti sono disponibili per la funzione avere successo, il valore restituito è NULL. Per ottenere informazioni di errore estese, chiamare GetLastError.
Se una chiamata a Error_invalid_dwp_handle non riesce, l'applicazione deve abbandonare l'operazione finestra-posizionamento e non chiamare EndDeferWindowPos.
Se non è specificato SWP_NOZORDER, il sistema posiziona la finestra identificata dal parametro hWnd nella posizione della finestra identificata dal parametro hWndInsertAfter in seguito. Se hWndInsertAfter è NULL o HWND_TOP, il sistema posiziona la finestra hWnd nella parte superiore dell'ordine Z. Se hWndInsertAfter è impostato su HWND_BOTTOM, il sistema posiziona la finestra hWnd nella parte inferiore dell'ordine z.
Tutte le coordinate per finestre figlio sono relative all'angolo superiore sinistro dell'area client della finestra padre.
Una finestra può essere fatta una finestra in primo piano impostando hWndInsertAfter alla bandiera HWND_TOPMOST e garantire che non è impostato il flag SWP_NOZORDER, oppure impostando la posizione della finestra nell'ordine z modo che è di sopra di tutte le finestre del primo piano esistente. Quando una finestra non in primo piano viene effettuata in primo piano, le finestre di proprietà sono effettuate anche in primo piano. I suoi proprietari, tuttavia, non vengono modificate.
Se è specificato il flag né SWP_NOACTIVATE né SWP_NOZORDER (cioè quando l'applicazione richiede che una finestra contemporaneamente essere attivato e sua posizione nell'ordine z modificata), il valore specificato in hWndInsertAfter viene utilizzato solo nelle seguenti circostanze:
Un'applicazione non può attivare una finestra inattiva senza portandola anche alla parte superiore dell'ordine Z. Un'applicazione può cambiare la posizione della finestra attivato nell'ordine z senza restrizioni, oppure può attivare una finestra e quindi spostare verso l'alto delle finestre in primo piano o non in primo piano.
Una finestra in primo piano non è più in primo piano se esso viene riposizionata verso il basso (HWND_BOTTOM) dell'ordine z o dopo qualsiasi finestra non in primo piano. Quando una finestra in primo piano viene effettuata non in primo piano, i suoi proprietari e le sue finestre di proprietà sono anche fatti non in primo piano windows.
Una finestra non in primo piano può possedere una finestra in primo piano, ma non viceversa. Qualsiasi finestra (ad esempio, una casella di dialogo), di proprietà di una finestra in primo piano è di per sé ha fatto una finestra in primo piano per assicurare che tutte le proprietà di windows rimanere di sopra di loro proprietario.
nbsp; Windows &NT: richiede 3.1 o versione successiva.
Windows:Richiede Windows 95 o versioni successive.
Windows CE:Non supportato.
Intestazione:Dichiarati in winuser.
Importare librerie:Utilizzare user32.lib.
Panoramica di Windows, le funzioni finestra, BeginDeferWindowPos, EndDeferWindowPos, ShowWindow
Rimedio: Inserire il CD-ROM CD di MSDN Library.