Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ «Русский справочник ΠΏΠΎ Win32 APIΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 4

Автор Варас Π‘ΠΎΡ€ΠΎΠΊΠ°

Π‘ΠΌ . Ρ‚Π°ΠΊΠΆΠ΅


AdjustWindowRect, CreateWindowEx, RECT .



ArrangeIconicWindows


Ѐункция ArrangeIconicWindows упорядочиваСт всС ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ (Π² Π²ΠΈΠ΄Π΅ ΠΈΠΊΠΎΠ½ΠΎΠΊ) ΠΎΠΊΠ½Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°.


UINT ArrangeIconicWindows (


HWND hWnd // дСскриптор Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°

);


ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹


hWnd - ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ΅ ΠΎΠΊΠ½ΠΎ.


Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния


Π’ случаС успСха возвращаСтся высота ΠΎΠ΄Π½ΠΎΠ³ΠΎ ряда ΠΈΠΊΠΎΠ½ΠΎΠΊ.

Π’ случаС Π½Π΅ΡƒΠ΄Π°Ρ‡ΠΈ возвращаСтся Π½ΡƒΠ»ΡŒ. Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ± ошибкС Π²Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ GetLastError .


ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ


ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ со своими ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΌΠΈ ΠΎΠΊΠ½Π°ΠΌΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ArrangeIconicWindows для упорядочивания ΠΈΠΊΠΎΠ½ΠΎΠΊ ΠΎΠΊΠΎΠ½ Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ ΠΎΠΊΠ½Π΅. Ѐункция Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΠΊΠΎΠ½ΠΊΠΈ ΠΎΠΊΠΎΠ½ Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ столС. Для получСния дСскриптора Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ стола ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ GetDesktopWindow .

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ отправляСт сообщСниС WM _ MDIICONARRANGE MDI -ΠΎΠΊΠ½Ρƒ для упорядочивания Π΅Π³ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… MDI -ΠΎΠΊΠΎΠ½.


Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅


CloseWindow, GetDesktopWindow .


BeginDeferWindowPos


Ѐункция BeginDeferWindowPos выдСляСт ΠΏΠ°ΠΌΡΡ‚ΡŒ для структуры, содСрТащСй ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ для ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΎΠΊΠΎΠ½, ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ дСскриптор этой структуры.


HDWP BeginDeferWindowPos (


int nNumWindows // количСство ΠΎΠΊΠΎΠ½

);


ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹


nNumWindows - опрСдСляСт Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ количСство ΠΎΠΊΠΎΠ½, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΈΡ… ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Ѐункция DeferWindowPos ΠΏΡ€ΠΈ нСобходимости ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π΄Π°Π½Π½ΠΎΠΉ структуры.


Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния


Π’ случаС успСха возвращаСтся ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ структуры.

Π’ случаС Π½Π΅Ρ…Π²Π°Ρ‚ΠΊΠΈ доступных рСсурсов систСмы для структуры возвращаСтся NULL .


ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ


Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°, содСрТащая ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ ΠΈ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ для ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΎΠΊΠΎΠ½, являСтся Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ структурой Windows . ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΊ Π½Π΅ΠΉ прямой доступ.

Ѐункция DeferWindowPos заполняСт структуру ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎΠ± ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΎΠΊΠ½Π°Ρ…, ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΡŽ. Ѐункция EndDeferWindowPos ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ дСскриптор структуры ΠΈ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠΊΠ½Π° Π² соотвСтствии с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΈΠ· Π΄Π°Π½Π½ΠΎΠΉ структуры.

Если ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΠΎΠΊΠΎΠ½, описанных Π² структурС, ΠΈΠΌΠ΅Π΅Ρ‚ установлСнный Ρ„Π»Π°Π³ SWP _ HIDEWINDOW ΠΈΠ»ΠΈ SWP _ SHOWWINDOW, Ρ‚ΠΎ Π½Π΅ рСпозиционируСтся Π½ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΠΎΠΊΠΎΠ½.

Если Windows Π΄ΠΎΠ»ΠΆΠ½Π° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ структуры ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ, Π·Π°Π΄Π°ΡŽΡ‰ΠΈΠΌΡΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° nNumWindows , Π½ΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ достаточно памяти, Ρ‚ΠΎ вся ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΉ ΠΎΠΊΠΎΠ½ ( BeginDeferWindowPos, DeferWindowPos ΠΈ EndDeferWindowPos ) заканчиваСтся Π½Π΅ΡƒΠ΄Π°Ρ‡Π΅ΠΉ. Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ максимально Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° структуры ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ сбой Π² самом Π½Π°Ρ‡Π°Π»Π΅ всСго процСсса.


Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅


DeferWindowPos, EndDeferWindowPos, SetWindowPos .


BringWindowToTop


Ѐункция BringWindowToTop ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π² Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ Z -ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Если ΠΎΠΊΠ½ΠΎ являСтся ΠΎΠΊΠ½ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня - ΠΎΠ½ΠΎ активизируСтся. Если ΠΎΠΊΠ½ΠΎ прСдставляСт собой Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅Π΅ ΠΎΠΊΠ½ΠΎ - активизируСтся Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня.


BOOL BringWindowToTop (


HWND hWnd // дСскриптор ΠΎΠΊΠ½Π°

);


ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹


hWnd - ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠΊΠ½ΠΎ, ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π² Π²Π΅Ρ€ΡˆΠΈΠ½Ρƒ Z -ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.


Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния


Π’ случаС успСха возвращаСтся Π½Π΅Π½ΡƒΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Π’ случаС Π½Π΅ΡƒΠ΄Π°Ρ‡ΠΈ возвращаСтся Π½ΡƒΠ»ΡŒ. Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π²Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ GetLastError .


ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ


Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ BringWindowToTop для Π²Ρ‹Π²ΠΎΠ΄Π° ΠΎΠΊΠ½Π°, частично ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΎΠΊΠ½Π°ΠΌΠΈ, Π½Π° ΠΏΠ΅Ρ€Π΅Π΄Π½ΠΈΠΉ ΠΏΠ»Π°Π½.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²Ρ‹Π·ΠΎΠ²Π° этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²Ρ‹Π·ΠΎΠ²Π° SetWindowPos для измСнСния ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΎΠΊΠ½Π° Π² Z -ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π½ΠΎ Π²Ρ‹Π·ΠΎΠ² BringWindowToTop Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΎΠΊΠ½ΠΎΠΌ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня.

Если ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ находится Π½Π° ΠΏΠ΅Ρ€Π΅Π΄Π½Π΅ΠΌ ΠΏΠ»Π°Π½Π΅, ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π½Π΅Π³ΠΎ ΠΏΠ»Π°Π½Π°, Π²Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ SetForegroundWindow .


Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅


SetWindowPos, SetActiveWindow, SetForegroundWindow .


CascadeWindows


Ѐункция CascadeWindows располагаСт каскадом (каскадируСт) ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ ΠΎΠΊΠ½Π° ΠΈΠ»ΠΈ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ ΠΎΠΊΠ½Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°.


WORD WINAPI CascadeWindows (


HWND hwndParent , // дСскриптор Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°

UINT wHow , // Ρ‚ΠΈΠΏΡ‹ ΠΎΠΊΠΎΠ½, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΏΠΎΠ΄Π²Π΅Ρ€Π³Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΡΠΊΠ°Π΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ

CONST RECT * lpRect , // ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΊΠ°ΡΠΊΠ°Π΄ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΎΠΊΠ½Π°

UINT cKids , // количСство каскадируСмых ΠΎΠΊΠΎΠ½

const HWND FAR *lpKids // массив дСскрипторов ΠΎΠΊΠΎΠ½

);


ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹


hwndParent - ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ΅ ΠΎΠΊΠ½ΠΎ. Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этого ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Ρ€Π°Π²Π½ΠΎ NULL, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠΊΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ стола.

wHow - опрСдСляСт Ρ„Π»Π°Π³ каскадирования. Доступно СдинствСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅: MDITILE _ SKIPDISABLED, ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π΅Π΅ каскадированиС Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… MDI ΠΎΠΊΠΎΠ½, Π½Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΡ… Π²Π²ΠΎΠ΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ( disabled windows ).

lpRect - ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° структуру Ρ‚ΠΈΠΏΠ° SMALL _ RECT , которая опрСдСляСт ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, Π² экранных ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°Ρ…, Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΊΠ°ΡΠΊΠ°Π΄ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΎΠΊΠ½Π°. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π²Π½ΠΎ NULL, Ρ‚ΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ клиСнтская ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°.

cKids - опрСдСляСт число элСмСнтов Π² массивС, Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ lpKids . Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° игнорируСтся, Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ lpKids Ρ€Π°Π²Π½ΠΎ Π½ΡƒΠ»ΡŽ.

lpKids - ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° массив дСскрипторов ΠΎΠΊΠΎΠ½, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… каскадируСмыС ΠΎΠΊΠ½Π°. Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этого ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Ρ€Π°Π²Π½ΠΎ NULL, ΠΊΠ°ΡΠΊΠ°Π΄ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ ΠΎΠΊΠ½Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° (ΠΈΠ»ΠΈ ΠΎΠΊΠ½Π° Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ стола).


Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния


Π’ случаС успСха возвращаСтся количСство упорядочСнных ΠΎΠΊΠΎΠ½.

Π’ случаС Π½Π΅ΡƒΠ΄Π°Ρ‡ΠΈ возвращаСтся Π½ΡƒΠ»ΡŒ.


Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅


SMALL_RECT .


ChildWindowFromPoint


Ѐункция ChildWindowFromPoint опрСдСляСт, ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ· Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… ΠΎΠΊΠΎΠ½, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌΡƒ ΠΎΠΊΠ½Ρƒ, содСрТит ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ (Ссли Ρ‚Π°ΠΊΠΈ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ ΠΎΠΊΠ½Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚).


HWND ChildWindowFromPoint (


HWND hWndParent , // дСскриптор Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°

POINT Point // структура с ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ

);


ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹


hWndParent - ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ΅ ΠΎΠΊΠ½ΠΎ.

Point - опрСдСляСт структуру Ρ‚ΠΈΠΏΠ° POINT , которая содСрТит клиСнтскиС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ провСряСмой Ρ‚ΠΎΡ‡ΠΊΠΈ.


Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния


Π’ случаС успСха возвращаСтся дСскриптор Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅Π³ΠΎ ΠΎΠΊΠ½Π°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ содСрТит Ρ‚ΠΎΡ‡ΠΊΡƒ, Π΄Π°ΠΆΠ΅ Ссли это Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅Π΅ ΠΎΠΊΠ½ΠΎ скрыто ΠΈΠ»ΠΈ Π½Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ фокус Π²Π²ΠΎΠ΄Π° ( disabled ). Если Ρ‚ΠΎΡ‡ΠΊΠ° Π»Π΅ΠΆΠΈΡ‚ Π²Π½Π΅ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°, возвращаСтся NULL . Если Ρ‚ΠΎΡ‡ΠΊΠ° находится Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°, Π½ΠΎ Π½Π΅ Π»Π΅ΠΆΠΈΡ‚ Π½ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… ΠΎΠΊΠΎΠ½, возвращаСтся дСскриптор Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°.


ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ


Windows Π²Π΅Π΄Π΅Ρ‚ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ список, содСрТащий дСскрипторы Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… ΠΎΠΊΠΎΠ½, связанных с Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ ΠΎΠΊΠ½ΠΎΠΌ. ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ дСскрипторов Π² этом спискС зависит ΠΎΡ‚ Z -ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… ΠΎΠΊΠΎΠ½. Если указанная Ρ‚ΠΎΡ‡ΠΊΠ° содСрТится Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π² ΠΎΠ΄Π½ΠΎΠΌ Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅ΠΌ ΠΎΠΊΠ½Π΅, Windows Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ дСскриптор ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Π² спискС, содСрТащСго Ρ‚ΠΎΡ‡ΠΊΡƒ.


Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅


ChildWindowFromPointEx, POINT, WindowFromPoint .


ChildWindowFromPointEx


Ѐункция ChildWindowFromPointEx опрСдСляСт, ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ· Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… ΠΎΠΊΠΎΠ½, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌΡƒ ΠΎΠΊΠ½Ρƒ, содСрТит ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ (Ссли Ρ‚Π°ΠΊΠΈ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ ΠΎΠΊΠ½Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚). Ѐункция ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Π΅, Π½Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΠ΅ фокус Π²Π²ΠΎΠ΄Π° ( disabled ) ΠΈ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹Π΅ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ ΠΎΠΊΠ½Π°.


HWND ChildWindowFromPointEx (


HWND hwndParent , // дСскриптор Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°

POINT pt , // структура с ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ

UINT uFlags // Ρ„Π»Π°Π³ΠΈ игнорирования

);


ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹


hWndParent - ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ΅ ΠΎΠΊΠ½ΠΎ.

Point - опрСдСляСт структуру Ρ‚ΠΈΠΏΠ° POINT , которая содСрТит клиСнтскиС ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ провСряСмой Ρ‚ΠΎΡ‡ΠΊΠΈ.

uFlags - опрСдСляСт, ΠΊΠ°ΠΊΠΈΠ΅ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ ΠΎΠΊΠ½Π° Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠ΅ΠΉ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ:


Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅