ΠΠΎΠ³Π΄Π° Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΡΠΈΡΡ Π²Π°ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ΅Π½, Π²ΡΠ·ΠΎΠ²ΠΈΡΠ΅ Π΄Π»Ρ Π΅Π³ΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΡ DeleteObject .
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅
DeleteObject, LOGFONT, SelectObject .
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ
GetQueueStatus
Π€ΡΠ½ΠΊΡΠΈΡ GetQueueStatus Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ»Π°Π³ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠΈΠΏ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Π½ΡΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΠΎΠΊΠ°.
DWORD GetQueueStatus (
UINT flags // ΡΠ»Π°Π³ΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ
);
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
flags - ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ»Π°Π³ΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ, ΡΠΊΠ°Π·ΡΠ²Π°Ρ ΡΠΈΠΏΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ. ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠ΅ΠΉ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ:
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅
ΠΠΎΡΡΠ½Π΅Π½ΠΈΠ΅
QS_ALLEVENTS
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π²Π²ΠΎΠ΄Π°, WM_TIMER, WM_PAINT, WM_HOTKEY ΠΈΠ»ΠΈ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠ΅ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅.
QS_ALLINPUT
ΠΡΠ±ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π²Π²ΠΎΠ΄Π°.
QS_HOTKEY
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ WM_HOTKEY .
QS_INPUT
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π²Π²ΠΎΠ΄Π°.
QS_KEY
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ WM_KEYUP, WM_KEYDOWN, WM_SYSKEYUP ΠΈΠ»ΠΈ WM_SYSKEYDOWN Π² ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ.
QS_MOUSE
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ WM_MOUSEMOVE ΠΈΠ»ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ ΠΌΡΡΠΈ ( WM_LBUTTONUP, WM_RBUTTONDOWN ΠΈ Ρ. ΠΏ.).
QS_MOUSEBUTTON
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ ΠΌΡΡΠΈ ( WM_LBUTTONUP, WM_RBUTTONDOWN ΠΈ Ρ. ΠΏ.).
QS_MOUSEMOVE
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ WM_MOUSEMOVE.
QS_PAINT
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ WM_PAINT .
QS_OSTMESSAGE
ΠΠΎΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΎΡΠ»ΠΈΡΠ½ΠΎΠ΅ ΠΎΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΡ Π²ΡΡΠ΅, Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ.
QS_ENDMESSAGE
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ΅ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΠΎΡΠΎΠΊΠΎΠΌ ΠΈΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ.
QS_TIMER
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ WM_TIMER .
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
Π‘ΡΠ°ΡΡΠ΅Π΅ ΡΠ»ΠΎΠ²ΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΈΠΏΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΡ ΡΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ. ΠΠ»Π°Π΄ΡΠ΅Π΅ ΡΠ»ΠΎΠ²ΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΈΠΏΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΈ Π²ΡΠ΅ Π΅ΡΠ΅ ΡΠ°ΠΌ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ GetQueueStatus : GetMessage ΠΈΠ»ΠΈ PeekMessage .
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ
ΠΡΠΈΡΡΡΡΡΠ²ΠΈΠ΅ ΡΠ»Π°Π³Π° QS_ Π² Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠΈ Π½Π΅ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ PeekMessage ΠΈΠ»ΠΈ GetMessage Π²Π΅ΡΠ½Π΅Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅. PeekMessage ΠΈΠ»ΠΈ GetMessage Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ. ΠΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ GetQueueStatus Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΠΊ Π½Π°ΠΌΠ΅ΠΊ Π½Π° ΡΠΎ, Π΄ΠΎΠ»ΠΆΠ½Π° Π»ΠΈ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½Π° ΡΡΠ½ΠΊΡΠΈΡ GetMessage ΠΈΠ»ΠΈ PeekMessage .
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅
GetInputState, GetMessage, PeekMessage .
ΠΠΈΡΡΠΈ
CreatePatternBrush
Π€ΡΠ½ΠΊΡΠΈΡ CreatePatternBrush ΡΠΎΠ·Π΄Π°Π΅Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΡΡ ΠΊΠΈΡΡΡ Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠΌ Π² Π²ΠΈΠ΄Π΅ Π±ΠΈΡΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠΈΡΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΌ ΠΎΡ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ Π±ΠΈΡΠΎΠ²ΡΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ( DIB ), ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΎ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ CreateDIBSection .
HBRUSH CreatePatternBrush (
HBITMAP hbmp // Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ Π±ΠΈΡΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
);
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
hbmp - ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅Ρ Π±ΠΈΡΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ°Π·, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΠΈΡΡΠΈ.
Windows 95: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΈΡΡΠ΅ΠΉ ΠΈΠ· Π±ΠΈΡΠΎΠ²ΡΡ ΠΎΠ±ΡΠ°Π·ΠΎΠ² ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ Π±ΠΎΠ»Π΅Π΅ 8 x 8 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ. ΠΡΠ»ΠΈ ΡΠΊΠ°Π·Π°Π½ Π±ΠΈΡΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ°Π· Π±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΅Π³ΠΎ ΡΠ°ΡΡΡ.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
Π ΡΠ»ΡΡΠ°Π΅ ΡΡΠΏΠ΅Ρ Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΠΈΡΡΠΈ.
Π ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΡΠ΄Π°ΡΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ NULL .
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ
Π¨Π°Π±Π»ΠΎΠ½Π½Π°Ρ ΠΊΠΈΡΡΡ - ΡΡΠΎ Π±ΠΈΡΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ°Π·, ΠΊΠΎΡΠΎΡΡΠΉ Windows ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΡΠ°ΡΡΠ΅ΠΉ Π·Π°ΠΊΡΠ°ΡΠ΅Π½Π½ΡΡ ΡΠΈΠ³ΡΡ.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠ·Π΄Π°Π»ΠΎ ΠΊΠΈΡΡΡ, Π²ΡΠ·Π²Π°Π² ΡΡΠ½ΠΊΡΠΈΡ CreatePatternBrush , ΠΎΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ±ΡΠ°ΡΡ ΡΡΡ ΠΊΠΈΡΡΡ Π² Π»ΡΠ±ΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ SelectObject .
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π°Π»ΠΈΡΡ ΡΠ°Π±Π»ΠΎΠ½Π½ΡΡ ΠΊΠΈΡΡΡ Π±Π΅Π· Π²ΠΎΠ·Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π½Π° ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Π±ΠΈΡΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ°Π·, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ½ΠΊΡΠΈΡ DeleteObject . Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ Π±ΠΈΡΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ°Π· Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ ΡΠΈΡΠ»Π° ΡΠ°Π±Π»ΠΎΠ½Π½ΡΡ ΠΊΠΈΡΡΠ΅ΠΉ.
ΠΠΈΡΡΡ, ΡΠΎΠ·Π΄Π°Π½Π½Π°Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ½ΠΎΡ ΡΠΎΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΈΡΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π·Π°, ΠΈΠΌΠ΅Π΅Ρ ΡΠ²Π΅ΡΠ° ΡΠ΅ΠΊΡΡΠ° ΠΈ ΡΠΎΠ½Π° ΡΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° ΡΡΡΡΠΎΠΉΡΡΠ²Π°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅. ΠΠΈΠΊΡΠ΅Π»ΠΈ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ Π½ΡΠ»Π΅Π²ΡΠΌ Π±ΠΈΡΠΎΠΌ, ΠΎΡΡΠΈΡΠΎΠ²ΡΠ²Π°ΡΡΡΡ ΡΠ΅ΠΊΡΡΠΈΠΌ ΡΠ²Π΅ΡΠΎΠΌ ΡΠ΅ΠΊΡΡΠ°; ΠΏΠΈΠΊΡΠ΅Π»ΠΈ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ Π΅Π΄ΠΈΠ½ΠΈΡΠ½ΡΠΌ Π±ΠΈΡΠΎΠΌ, ΠΎΡΡΠΈΡΠΎΠ²ΡΠ²Π°ΡΡΡΡ ΡΠ΅ΠΊΡΡΠΈΠΌ ΡΠ²Π΅ΡΠΎΠΌ ΡΠΎΠ½Π°.
ΠΠΈΡΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° hbmp , Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΌ ΠΎΡ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ Π±ΠΈΡΠΎΠ²ΡΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ( DIB ), ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΎ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ CreateDIBSection . ΠΡΠ»ΠΈ ΠΎΠ½ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΌ ΠΎΡ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ Π±ΠΈΡΠΎΠ²ΡΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, ΡΠΎ Π²ΡΠ·ΠΎΠ² CreatePatternBrush Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ Π½Π΅ΡΠ΄Π°ΡΠ΅ΠΉ.
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅
CreateBitmap, CreateBitmapIndirect, CreateCompatibleBitmap, CreateDIBPatternBrush, CreateDIBPatternBrushPt, CreateDIBSection, CreateHatchBrush, DeleteObject, GetBrushOrgEx, LoadBitmap, SelectObject, SetBrushOrgEx .
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ
DragAcceptFiles
Π€ΡΠ½ΠΊΡΠΈΡ DragAcceptFiles ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅Ρ ΠΎΠΊΠ½ΠΎ, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π΅ΠΌΡΠ΅ Π½Π° Π½Π΅Π³ΠΎ ΡΠ°ΠΉΠ»Ρ.
VOID DragAcceptFiles (
HWND hWnd , // Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΠΎΠΊΠ½Π°
BOOL fAccept // ΠΎΠΏΡΠΈΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ½ΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²
);
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
hWnd - ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅Ρ ΠΎΠΊΠ½ΠΎ, ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅ΠΌΠΎΠ΅, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π΅ΠΌΡΠ΅ Π½Π° Π½Π΅Π³ΠΎ ΡΠ°ΠΉΠ»Ρ.
fAccept - ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π»ΠΈ ΠΎΠΊΠ½ΠΎ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ hWnd , ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π΅ΠΌΡΠ΅ Π½Π° Π½Π΅Π³ΠΎ ΡΠ°ΠΉΠ»Ρ. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ TRUE ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ ΠΏΡΠΈΠ½ΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ², Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ FALSE Π΅Π³ΠΎ Π·Π°ΠΏΡΠ΅ΡΠ°Π΅Ρ.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
Π€ΡΠ½ΠΊΡΠΈΡ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅Π΅ DragAcceptFiles ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ TRUE ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° fAccept ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅Ρ ΡΠ΅Π±Ρ ΠΊΠ°ΠΊ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΠ΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ WM_DROPFILES ΠΎΡ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠ° ΡΠ°ΠΉΠ»ΠΎΠ².
Π‘ΠΌ . ΡΠ°ΠΊΠΆΠ΅
WM_DROPFILES.
DragFinish
Π€ΡΠ½ΠΊΡΠΈΡ DragFinish ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅Ρ ΠΏΠ°ΠΌΡΡΡ, ΠΊΠΎΡΠΎΡΡΡ Windows Π²ΡΠ΄Π΅Π»ΠΈΠ»Π° Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΈΠΌΠ΅Π½ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
VOID DragFinish (
HDROP hDrop // Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅ΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ
);
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
hDrop - ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅Ρ ΡΡΡΡΠΊΡΡΡΡ, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½Π½ΡΠ΅ ΠΌΡΡΡΡ ΡΠ°ΠΉΠ»Ρ. ΠΡΠΎΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΡΡΡ ΠΈΠ· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° wParam ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ WM_DROPFILES.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
Π€ΡΠ½ΠΊΡΠΈΡ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
Π‘ΠΌ . ΡΠ°ΠΊΠΆΠ΅
WM_DROPFILES.
DragQueryFile
Π€ΡΠ½ΠΊΡΠΈΡ DragQueryFile ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½Π½ΡΡ ΠΌΡΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ².
UINT DragQueryFile (
HDROP hDrop , // Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΡΡΡΡΠΊΡΡΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²
UINT iFile , // ΠΈΠ½Π΄Π΅ΠΊΡ Π·Π°ΠΏΡΠΎΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°
LPTSTR lpszFile , // Π±ΡΡΠ΅Ρ Π΄Π»Ρ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π°
UINT cch // ΡΠ°Π·ΠΌΠ΅Ρ Π±ΡΡΠ΅ΡΠ° Π΄Π»Ρ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π°
);
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
hDrop - ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅Ρ ΡΡΡΡΠΊΡΡΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΈΠΌΠ΅Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ².
iFile - ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° iFile ΡΠ°Π²Π½ΠΎ 0 xFFFFFFFF, DragQueryFile Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΈΡΠ»ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° iFile Π»Π΅ΠΆΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΡΠ»Π΅ΠΌ ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², DragQueryFile ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠΌ ΡΠ°ΠΉΠ»Π° Π² Π±ΡΡΠ΅Ρ, ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ lpszFile .
lpszFile - ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° Π±ΡΡΠ΅Ρ Π΄Π»Ρ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΠΌ ΡΠ°ΠΉΠ»Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π·Π°Π²Π΅ΡΡΠ°ΡΡΡΡΡΡ Π½ΡΠ»Π΅ΠΌ ΡΡΡΠΎΠΊΡ. ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ lpszFile ΡΠ°Π²Π½ΠΎ NULL, DragQueryFile Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π±ΡΡΠ΅ΡΠ° Π² ΡΠΈΠΌΠ²ΠΎΠ»Π°Ρ .
cch - ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ Π±ΡΡΠ΅ΡΠ° Π² ΡΠΈΠΌΠ²ΠΎΠ»Π°Ρ .
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
ΠΠΎΠ³Π΄Π° ΡΡΠ½ΠΊΡΠΈΡ ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° Π² Π±ΡΡΠ΅Ρ, ΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΡΠΈΡΠ»ΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π±Π΅Π· ΡΡΠ΅ΡΠ° Π·Π°Π²Π΅ΡΡΠ°ΡΡΠ΅Π³ΠΎ Π½ΡΠ»Π΅Π²ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π°.
ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° iFile ΡΠ°Π²Π½ΠΎ 0 xFFFFFFFF, ΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΡΠΈΡΠ»ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½Π½ΡΡ ΠΌΡΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ².
ΠΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° iFile Π»Π΅ΠΆΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π½ΡΠ»Π΅ΠΌ ΠΈ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° lpszFile ΡΠ°Π²Π½ΠΎ NULL, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ Π±ΡΡΠ΅ΡΠ°, Π² ΡΠΈΠΌΠ²ΠΎΠ»Π°Ρ , Π±Π΅Π· ΡΡΠ΅ΡΠ° Π·Π°Π²Π΅ΡΡΠ°ΡΡΠ΅Π³ΠΎ Π½ΡΠ»Π΅Π²ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π°.
Π‘ΠΌ . ΡΠ°ΠΊΠΆΠ΅
DragQueryPoint .
DragQueryPoint
Π€ΡΠ½ΠΊΡΠΈΡ DragQueryPoint Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΊΡΡΡΠΎΡΠ° ΠΌΡΡΠΈ Π² ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΡΠ°ΡΠΊΠΈΠ²Π°Π½ΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² Π±ΡΠ»Π° ΠΎΡΠΏΡΡΠ΅Π½Π° Π»Π΅Π²Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΌΡΡΠΈ.
BOOL DragQueryPoint (
HDROP hDrop , // Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΡΡΡΡΠΊΡΡΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²
LPPOINT lppt // ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΡΡΠΊΡΡΡΡ Π΄Π»Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΠΌΡΡΠΈ