DeferWindowPos

DeferWindowPos işlevi, belirtilen birden çok pencere-pozisyon yapısını belirtilen pencerenin güncelleştirir. İşlev sonra Güncellenme yapısına bir tanıtıcı verir. EndDeferWindowPos işlevi, konumu ve boyutu windows çok sayıda aynı anda değiştirmek için içinde bu yapı bilgileri kullanır. BeginDeferWindowPos işlev yapısı oluşturur.

hdwp DeferWindowPos) hdwp  hWinPosInfo, / / işlemek için iç yapısıhwndhWnd, / / idare penceresine konumlandırmak içinhwndhWndInsertAfter, / / yerleştirme-sipariş işlemeint x, / / yatay pozisyon int y, / / dikey konumu int cx, // width int cy, // heightUINTuFlags / / pencere yerleştirme flags);
 

Parametreleri

hWinPosInfo
Çoklu-pencere-bir veya daha fazla pencere boyutu ve konumu bilgilerini içeren konumu yapısı için tanıtıcı. Bu yapı, BeginDeferWindowPos veya DeferWindowPos en son çağrısı döndürülür.
hWnd
Hangi güncelleştirmesi bilgileri yapısı içinde depolanan pencere kolu.
hWndInsertAfter
Z sırayla yerleştirilmiş pencerenin önündeki penceresine kolu. Bu parametre bir pencere tanıtıcısı veya aşağıdaki değerlerden biri olmalıdır.:
Değer Anlamı
HWND_BOTTOM Z sırası altındaki pencereye yerleştirir. HWnd parametresi bir üstteki pencere tanımlarsa, pencerenin en üstteki durumunu kaybeder ve diğer tüm pencerelerin alt kısmında yer alıyor.
HWND_NOTOPMOST Her şeyden önce sigara üstteki windows pencere yerleştirir (yani, tüm üstteki pencereler ardında). Bir üstteki olmayan pencere pencere varsa bu bayrak etkisi yoktur.
HWND_TOP Z sırası üstündeki pencereyi yerler.
HWND_TOPMOST Pencerede her şeyden olmayan üstteki windows yerleştirir. Ne zaman bile dy?ydyr pencere üstteki konumunu korur.

Swp_nozorder bayrağı uFlags parametre ayarlanmışsa, bu parametre yoksayılır.

x
Pencerenin sol üst köşesindeki x-koordinatı belirtir.
y
Pencerenin sol üst köşesinin y koordinatı belirtir.
cx
Pencerenin yeni genişliğini piksel cinsinden belirtir.
cy
Pencerenin yeni yüksekliğini piksel cinsinden belirtir.
uFlags
Pencere konumu ve boyutu etkileyen aşağıdaki değerleri birleşimini belirtir:
Değer Anlamı
SWP_DRAWFRAME Pencere (pencere sınıfı açıklaması'nda tanımlanan) bir çerçeve çizer.
SWP_FRAMECHANGED Pencere boyutunu değil değişse dahi WM_NCCALCSIZE ileti penceresine gönderir. Bu bayrak belirtilmezse, yalnızca pencere boyutunu değiştirilirken WM_NCCALCSIZE gönderilir.
SWP_HIDEWINDOW Pencereyi gizler.
SWP_NOACTIVATE Pencere etkinleştirmez. Bu bayrağı ayarlanmazsa, pencerede etkinleştirilir ve üst ya da en üstteki veya en üstteki olmayan grubun (bağlı, hWndInsertAfter parametre ayarı) taşındı.
SWP_NOCOPYBITS İstemci alanının tüm içeriği atar. Bu bayrak belirtilmezse, istemci alanının geçerli içeriğini kaydedilir ve sonra pencere büyüklük ya da yeniden konumlandırılmış ve istemci alanına kopyalanır.
SWP_NOMOVE Geçerli konumunu korur ( x ve y parametrelerinin yoksayar).
SWP_NOOWNERZORDER Z sırası sahibi pencerenin konumunu değiştirmez.
SWP_NOREDRAW Değişiklikleri çizmez. Bu bayrak ayarlanırsa, hiçbir herhangi bir yeniden oluşur. Bu istemci alanı için (başlık çubuğu ve kaydırma çubukları gibi) nonclient uygulanır ve üst pencere herhangi bir bölümünü taşınan penceresinde sonucu ortaya çıkardı. Bu bayrak ayarlandığında, uygulama açıkça geçersiz veya gerekir ve yakınlaştırılmasını gerek ana penceresinde tüm bölümleri yeniden Düzenle.
SWP_NOREPOSITION Swp_noownerzorder bayrağı ile aynı.
SWP_NOSENDCHANGING Pencere WM_WINDOWPOSCHANGING ileti almanızı engeller.
SWP_NOSIZE ( Cx ve cy parametreleri yoksayar) geçerli boyutunu korur.
SWP_NOZORDER Geçerli z sırası korur ( hWndInsertAfter parametresini yoksayar).
SWP_SHOWWINDOW Pencere görüntüler.

Dönüş değerleri

Dönüş değeri, Güncellenme birden çok pencere-pozisyon yapısını tanımlar. Bu işlev tarafından döndürülen tanıtıcıyı işleve kolu farklılık gösterebilir. Bu işlevi yeni kolu DeferWindowPos veya EndDeferWindowPos işlevi bir sonraki çağrı sırasında aktarılmalıdır.

Sistem kaynakları yetersiz başarılı olmak için işlev yoksa, dönüş değeri null olur. Genişletilmiş hata bilgilerini için GetLastError.

Açıklamalar

DeferWindowPos çağrısı başarısız olursa, uygulama pencere yerleştirme işlemi terk ve EndDeferWindowPos çağrısı değil.

Swp_nozorder belirtilmezse, sistem hWndInsertAfter parametresi tarafından tanımlanan penceresi aşağıdaki konumda hWnd parametresi tarafından tanımlanan pencereye yerleştirir. HWndInsertAfter null veya hwnd_top ise, sistem z sırası üstündeki hWnd pencereye yerleştirir. HWndInsertAfter hwnd_bottom için ayarlanmışsa, sistem hWnd pencere z sırası altındaki yerler.

Tüm koordinatlarını alt pencereler ana pencerenin istemci alanının sol üst köşesine göre olan.

Bir pencerede en üstteki pencere hWndInsertAfter hwnd_topmost bayrağı ve bu swp_nozorder bayrağı ayarlı değil sağlamak için ayarlayarak veya böylece mevcut en üstteki pencereler z sırası pencerenin konumunu ayarlayarak yapılabilir. Üstteki olmayan pencere en üstteki yapıldığında, sahipli pencereleri de üstteki yapılır. Sahipleri, ancak değiştirilmez.

Ne SWP_NOACTIVATE ne de swp_nozorder bayrağı zaman (başka bir deyişle, uygulama bir pencere aynı anda aktif ister ve z sırası konumunu değiştirdi) belirtilirse, hWndInsertAfter içinde belirtilen değeri yalnızca aşağıdaki durumlarda kullanılır.:

Uygulama bir etkin olmayan pencere da z sırasının üstüne getiren olmadan etkinleştiremezsiniz. Uygulama z sırası kısıtlama olmadan bir aktif pencerenin konumunu değiştirebilir veya bu pencereyi etkinleştirin ve sonra en üstteki veya en üstteki olmayan windows üstüne taşıyın.

Bir üstteki pencere artık z sırası veya üstteki olmayan herhangi bir pencerenin altına (hwnd_bottom) konumlandırdığınız Eğer üstteki. Üstteki pencere üstteki sigara yapılırken, sahipleri ve onun sahibi olduğu windows da üstteki olmayan windows yapılır.

Bir üstteki olmayan pencere en üstteki pencere sahibi ama tersi. Bir üstteki pencere tarafından sahip olunan herhangi bir pencere (örneğin, bir iletişim kutusu) kendisine ait tüm windows kendi sahibi kalmak emin olmak için üstteki pencere yapılmış olduğunu.

QuickInfo

nbsp; Windows &NT: sürüm 3.1 veya üstü gerektirir.
Windows:Windows 95 veya sonraki sürümleri gerektirir.
Windows ce:Desteklenmeyen.
Header:WINUSER.h ilan etti.
İçe Library:User32.lib kullanma.

Ayrıca bkz:

Windows genel bakış, pencere işlevleri, BeginDeferWindowPos, EndDeferWindowPos, ShowWindow

Index