Error_invalid_dwp_handle

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);
 

Parametri

hWinPosInfo
Gestire a finestre multiple – struttura di posizione che contiene informazioni di dimensioni e la posizione per una o più finestre. Questa struttura viene restituita dalla chiamata più recente a Error_invalid_dwp_handle o BeginDeferWindowPos.
hWnd
Gestire alla finestra per cui aggiornamento informazioni vengono memorizzate nella struttura.
hWndInsertAfter
Gestire alla finestra che precede la finestra posizionata nell'ordine Z. Questo parametro deve essere un handle di finestra o uno dei seguenti valori:
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.

x
Specifica la coordinata x dell'angolo superiore sinistro della finestra.
y
Specifica la coordinata y dell'angolo superiore sinistro della finestra.
cx
Specifica la nuova larghezza della finestra, in pixel.
cy
Specifica la nuova altezza della finestra, in pixel.
uFlags
Specifica una combinazione dei seguenti valori che influenzano le dimensioni e la posizione della finestra:
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.

Valori restituiti

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.

Osservazioni

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.

Descrizione

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.

Vedi anche

Panoramica di Windows, le funzioni finestra, BeginDeferWindowPos, EndDeferWindowPos, ShowWindow

Rimedio: Inserire il CD-ROM CD di MSDN Library.

Index