DeferWindowPos

De functie DeferWindowPos werkt het opgegeven meerdere-venster-positie structuur voor het opgegeven venster. De functie retourneert vervolgens een handvat aan de bijgewerkte structuur. De EndDeferWindowPos functie gebruikt de informatie in deze structuur voor u de positie en grootte van een aantal vensters tegelijkertijd wijzigen. De functie BeginDeferWindowPos maakt de structuur.

HDWP DeferWindowPos) HDWP  hWinPosInfo, / / ingang naar interne structuurHWNDhWnd, / / verwerken naar venster te positionerenHWNDhWndInsertAfter, / / plaatsing-volgorde behandelenint x, / / horizontale positie int y, / / verticale positie int cx, // width int cy, // heightUINTuFlags / / venster-positionering vlaggen);
 

Parameters

hWinPosInfo
Ingang naar een meerdere-venster-positie structuur die de grootte en positie voor een of meer vensters bevat. Deze structuur wordt geretourneerd door BeginDeferWindowPos of door de meest recente aanroep van DeferWindowPos.
hWnd
Omgaan met naar de venster voor welke update informatie is opgeslagen in de structuur.
hWndInsertAfter
Ingang naar het venster dat voorafgaat aan het venster geplaatst in de Z-volgorde. Deze parameter moet een vensteringang of een van de volgende waarden:
Waarde Betekenis
HWND_BOTTOM Het venster plaatsen aan de onderkant van de Z-volgorde. Als de parameter hWnd een bovenste venster identificeert, het venster zijn bovenste status verliest en is geplaatst op de bodem van alle andere vensters.
HWND_NOTOPMOST Plaatst het venster vooral niet-bovenste windows (dat wil zeggen, achter alle bovenste vensters). Deze vlag heeft geen effect als het venster al een niet-bovenste venster is.
HWND_TOP Het venster plaatsen boven aan de Z-volgorde.
HWND_TOPMOST Het venster plaatsen vooral niet-bovenste windows. Het venster handhaaft haar bovenste positie zelfs wanneer het wordt gedeactiveerd.

Deze parameter wordt genegeerd als de vlag SWP_NOZORDER is ingesteld in de uFlags -parameter.

x
Hiermee geeft u de x-co÷rdinaat van de linkerbovenhoek van het venster.
y
Geeft de y-co÷rdinaat van de linkerbovenhoek van het venster.
cx
Hiermee geeft u de nieuwe breedte van het venster, in pixels.
cy
Hiermee geeft u de nieuwe hoogte van het venster, in pixels.
uFlags
Hiermee geeft u een combinatie van de volgende waarden die invloed hebben op de grootte en positie van het venster:
Waarde Betekenis
SWP_DRAWFRAME Vestigt een frame (gedefinieerd in de klasse Beschrijving van het venster) om het venster.
SWP_FRAMECHANGED Een signaal WM_NCCALCSIZE naar de venster, zelfs als de grootte van het venster niet wordt gewijzigd. Als deze vlag niet is opgegeven, wordt WM_NCCALCSIZE verzonden slechts wanneer de grootte van het venster wordt gewijzigd.
SWP_HIDEWINDOW Verbergt het venster.
SWP_NOACTIVATE Activeert het venster niet. Als deze vlag niet is ingesteld, is het venster geactiveerd en bewogen tot de bovenkant van de beide bovenste of niet-bovenste groep (afhankelijk van de instelling van de parameter hWndInsertAfter ).
SWP_NOCOPYBITS De gehele inhoud van het clientgebied van de teruggooi. Als deze vlag niet is opgegeven, zijn de geldige inhoud van het clientgebied opgeslagen en terug naar de client area gekopieerd nadat het venster is formaat of verplaatst.
SWP_NOMOVE De huidige positie behoudt (negeert de X - en Y -parameters).
SWP_NOOWNERZORDER Verandert niet de eigenaar van venster positie in de Z-volgorde.
SWP_NOREDRAW Doet tekent niet veranderingen. Als deze vlag is ingesteld, treedt geen verversen van welke aard op. Dit geldt voor de clientgebied, het gebied van de nonclient (met inbegrip van de titelbalk en schuifbalken), en een deel van het bovenliggende venster ontdekt als gevolg van het venster wordt verplaatst. Wanneer deze vlag is ingesteld, moet de toepassing expliciet ongeldig of herschrijven delen van het venster en het bovenliggende venster die moeten opnieuw te laten tekenen.
SWP_NOREPOSITION Hetzelfde als de vlag SWP_NOOWNERZORDER.
SWP_NOSENDCHANGING Het venster verhindert WM_WINDOWPOSCHANGING bericht ontvangen.
SWP_NOSIZE Altijd de huidige grootte (negeert de parameters cx en cy ).
SWP_NOZORDER Behoudt de huidige Z-volgorde (de parameter hWndInsertAfter negeert).
SWP_SHOWWINDOW Het venster wordt weergegeven.

Retourwaarden

De geretourneerde waarde identificeert de bijgewerkte meerdere-venster-positie structuur. De greep geretourneerd door deze functie kan afwijken van de greep doorgegeven aan de functie. De nieuwe greep die deze functie als resultaat moet worden doorgegeven tijdens de volgende aanroep van de functie DeferWindowPos of EndDeferWindowPos.

Als er onvoldoende systeembronnen beschikbaar zijn voor de functie om te slagen, is de retourwaarde NULL. Te krijgen uitgebreide foutinformatie, Bel GetLastError.

Opmerkingen

Als een aanroep van DeferWindowPos mislukt, moet de toepassing verlaten de bewerking venster-positionering en niet bellen EndDeferWindowPos.

Als SWP_NOZORDER niet is opgegeven, plaatst het systeem het venster hWnd de parameter in de positie na de hWndInsertAfter de parameter venster. Als hWndInsertAfter NULL of HWND_TOP is, wordt het systeem het venster hWnd boven aan de Z-volgorde geplaatst. Als hWndInsertAfter is ingesteld op HWND_BOTTOM, plaatsen het systeem het venster hWnd aan de onderkant van de Z-volgorde.

Alle co÷rdinaten voor kind windows zijn relatief ten opzichte van de linkerbovenhoek van het clientgebied van het bovenliggende venster.

Een venster kan worden gemaakt een bovenste venster of door hWndInsertAfter op de HWND_TOPMOST vlag en ervoor te zorgen dat de SWP_NOZORDER vlag niet is ingesteld door de instelling van het venster positie in de Z-volgorde, zodat het is boven elke bestaande bovenste vensters. Wanneer een niet-bovenste venster bovenste is gemaakt, zijn haar eigendom windows ook bovenste gemaakt. De eigenaren, worden echter niet gewijzigd.

Als noch de SWP_NOACTIVATE noch SWP_NOZORDER vlag is opgegeven (dat wil zeggen, wanneer de toepassing vraagt dat een venster gelijktijdig worden geactiveerd en haar positie in de Z-volgorde wordt gewijzigd), wordt de waarde die is opgegeven in hWndInsertAfter alleen gebruikt in de volgende omstandigheden:

Een toepassing kan een niet-actief venster niet activeren zonder ook brengen het naar de top van de Z-volgorde. Een toepassing van een geactiveerde venster positie in de Z-volgorde zonder beperkingen kunt wijzigen, of het kan een venster activeren en het verplaatsen naar de bovenkant van de bovenste of niet-bovenste windows.

Er is niet langer een bovenste venster bovenste als het is verplaatst naar de bodem (HWND_BOTTOM) van de Z-volgorde of na elk niet-bovenste venster. Wanneer een bovenste venster is gemaakt niet-bovenste, zijn zijn eigenaars en haar eigendom windows ook niet-bovenste windows gemaakt.

Een niet-bovenste venster kan eigen een bovenste venster, maar niet vice versa. Een venster (bijvoorbeeld een dialoogvenster) eigendom van een bovenste venster is zelf gemaakt een bovenste venster om ervoor te zorgen dat alle eigendom windows blijven boven hun eigenaar.

Syntaxisinfo

nbsp;áWindows &NT: versie 3.1 of hoger vereist.
Windows:Windows 95 of hoger vereist.
Windows CE:Niet-ondersteunde.
Header:Verklaard in winuser.h.
Bibliotheek importeren:User32.lib gebruiken.

Zie ook

Windows, overzicht, functies van het venster, BeginDeferWindowPos, EndDeferWindowPos, ShowWindow

Index