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

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

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

);


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


uMSeconds - опрСдСляСт Π½ΠΎΠ²ΠΎΠ΅ врСмя мСрцания, Π² миллисСкундах.


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


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

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


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


ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ врСмя мСрцания Ρ‡Π΅Ρ€Π΅Π· ПанСль УправлСния. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ "ΡƒΠ²Π°ΠΆΠ°Ρ‚ΡŒ" настройки, сдСланныС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. Ѐункция SetCaretBlinkTime Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ позволяСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ врСмя мСрцания ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΈ, Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ ПанСли УправлСния.

Если Π²Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ врСмя мСрцания, Ρ‚ΠΎ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Π΅ ΠΏΠΎΠ·ΠΆΠ΅ прилоТСния Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π΄Π°ΠΆΠ΅ Ссли Π²Ρ‹ восстанавливаСтС ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ мСрцания ΠΏΡ€ΠΈ ΠΏΠΎΡ‚Π΅Ρ€Π΅ фокуса Π²Π²ΠΎΠ΄Π°, ΠΈΠ»ΠΈ ΠΊΠΎΠ³Π΄Π° вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ становится Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ. Π­Ρ‚ΠΎ происходит ΠΈΠ·-Π·Π° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΠΉ срСды, Π³Π΄Π΅ дСактивация вашСго прилоТСния Π½Π΅ синхронизируСтся с Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠ΅ΠΉ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ. Π­Ρ‚ΠΎ позволяСт систСмС Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π΄Π°ΠΆΠ΅ Ссли Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ зависло.


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


GetCaretBlinkTime .


SetCaretPos


Ѐункция SetCaretPos ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΡƒ Π² Π·Π°Π΄Π°Π½Π½ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ. Если ΠΎΠΊΠ½ΠΎ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Π»Π°Π΄Π΅Π΅Ρ‚ ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΎΠΉ, Π±Ρ‹Π»ΠΎ создано со стилСм класса CS _ OWNDC, Ρ‚ΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ зависят ΠΎΡ‚ Ρ€Π΅ΠΆΠΈΠΌΠ° отобраТСния контСкста устройства, связанного с ΠΎΠΊΠ½ΠΎΠΌ.


BOOL SetCaretPos (


int X , // Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Π°Ρ позиция

int Y // Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Π°Ρ позиция

);


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


X - опрСдСляСт Π½ΠΎΠ²ΡƒΡŽ x -ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρƒ ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΈ.

Y - опрСдСляСт Π½ΠΎΠ²ΡƒΡŽ y -ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρƒ ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΈ.


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


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

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


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


SetCaretPos ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΡƒ Π²Π½Π΅ зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, являСтся Π»ΠΈ ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠ° Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ, ΠΈΠ»ΠΈ Π½Π΅Ρ‚.

ΠšΠ°Ρ€Π΅Ρ‚ΠΊΠ° являСтся раздСляСмым рСсурсом; Π² систСмС сущСствуСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ экзСмпляр ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΈ. Окно ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли ΠΎΠ½ΠΎ Π²Π»Π°Π΄Π΅Π΅Ρ‚ ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΎΠΉ.


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


GetCaretPos, HideCaret, ShowCaret .


ShowCaret


Ѐункция ShowCaret Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΡƒ Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ Π² Π΅Π΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π½Π° экранС. Когда ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠ° становится Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ, ΠΎΠ½Π° автоматичСски Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΌΠ΅Ρ€Ρ†Π°Ρ‚ΡŒ.


BOOL ShowCaret (


HWND hWnd // дСскриптор ΠΎΠΊΠ½Π° с ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΎΠΉ

);


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


hWnd - ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠΊΠ½ΠΎ, Π²Π»Π°Π΄Π΅ΡŽΡ‰Π΅Π΅ ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΎΠΉ. Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этого ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Ρ€Π°Π²Π½ΠΎ NULL, ShowCaret ΠΈΡ‰Π΅Ρ‚ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π·Π°Π΄Π°Ρ‡Π΅ ΠΎΠΊΠ½ΠΎ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Π»Π°Π΄Π΅Π΅Ρ‚ ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΎΠΉ.


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


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

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


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


ShowCaret ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΡƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² случаС, Ссли ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π²Π»Π°Π΄Π΅Π΅Ρ‚ ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΎΠΉ, ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠ° ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠΎΠ½Ρ‚ΡƒΡ€, ΠΈ ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠ° Π½Π΅ Π±Ρ‹Π»Π° скрыта Π΄Π²Π° ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Ρ€Π°Π· подряд. Если ΠΎΠ΄Π½ΠΎ ΠΈΠ· этих условий Π½Π°Ρ€ΡƒΡˆΠ°Π΅Ρ‚ΡΡ, ShowCaret Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… дСйствий ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ FALSE.

Π‘ΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠΈ кумулятивно. Если вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ HideCaret ΠΏΡΡ‚ΡŒ Ρ€Π°Π· подряд, ΠΎΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ShowCaret ΠΏΡΡ‚ΡŒ Ρ€Π°Π· подряд, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠ° станСт Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ.

ΠšΠ°Ρ€Π΅Ρ‚ΠΊΠ° являСтся раздСляСмым рСсурсом: Π² систСмС присутствуСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Π° ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΠ°. Окно Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΡƒ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли ΠΎΠ½ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ фокус Π²Π²ΠΎΠ΄Π° с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹.


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


CreateCaret, DestroyCaret, GetCaretPos, HideCaret, SetCaretPos .


МСню

CheckMenuItem


Ѐункция CheckMenuItem устанавливаСт ΠΈΠ»ΠΈ снимаСт Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню.

Ѐункция CheckMenuItem Π±Ρ‹Π»Π° Π·Π°ΠΌΠ΅Π½Π΅Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ SetMenuItemInfo . Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ CheckMenuItem , Ссли Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ возмоТности SetMenuItemInfo .


DWORD CheckMenuItem (


HMENU hmenu , // дСскриптор мСню

UINT uIDCheckItem , // ΠΏΡƒΠ½ΠΊΡ‚ мСню

UINT uCheck // Ρ„Π»Π°Π³ΠΈ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню

);


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


hmenu - ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰Π΅Π΅ мСню.

uIDCheckItem - опрСдСляСт ΠΏΡƒΠ½ΠΊΡ‚ мСню, Ρ‡Π΅ΠΉ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠΈ устанавливаСтся, ΠΊΠ°ΠΊ опрСдСляСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° uCheck .

uCheck - опрСдСляСт Ρ„Π»Π°Π³ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ значСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° uIDCheckItem ΠΈ состояниСм Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этого ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ собой ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ MF_BYCOMMAND ΠΈΠ»ΠΈ MF_BYPOSITION ΠΈ MF_CHECKED ΠΈΠ»ΠΈ MF_UNCHECKED.


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

ПояснСниС

MF _ BYCOMMAND

Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ uIDCheckItem прСдставляСт собой ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню.

MF _ BYPOSITION

Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ uIDCheckItem прСдставляСт собой ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню (отсчСт ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ начинаСтся с нуля).

MF_CHECKED

УстанавливаСт Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ выдСлСния ΠΏΡƒΠ½ΠΊΡ‚Π° мСню Π² состояниС "ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½".

MF _ UNCHECKED

УстанавливаСт Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ выдСлСния ΠΏΡƒΠ½ΠΊΡ‚Π° мСню Π² состояниС "Π½Π΅ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½".


Π€Π»Π°Π³ MF _ BYCOMMAND являСтся Ρ„Π»Π°Π³ΠΎΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Ссли Ρ„Π»Π°Π³ MF _ BYCOMMAND ΠΈΠ»ΠΈ MF _ BYPOSITION Π½Π΅ установлСн.


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


Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π΅ состояниС ΠΏΡƒΠ½ΠΊΡ‚Π° мСню ( Π»ΠΈΠ±ΠΎ MF_CHECKED, Π»ΠΈΠ±ΠΎ MF_UNCHECKED). Если ΠΏΡƒΠ½ΠΊΡ‚ мСню Π½Π΅ сущСствуСт, возвращаСтся 0 xFFFFFFFF .


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


ΠŸΡƒΠ½ΠΊΡ‚ Π² строкС мСню Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΡƒ.

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° uIDCheckItem ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡƒΠ½ΠΊΡ‚ мСню, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π»ΠΈΠ±ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ подмСню, Π»ΠΈΠ±ΠΎ являСтся ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΌ ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠΌ мСню. Для ΠΏΡƒΠ½ΠΊΡ‚Π° мСню, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ подмСню, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° uIDCheckItem Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡƒΠ½ΠΊΡ‚Π°. Для ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ uIDCheckItem ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ‚Π°ΠΊ ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню.


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


EnableMenuItem, GetMenuCheckMarkDimensions, GetMenuItemID, SetMenuItemBitmaps, SetMenuItemInfo .


CreateMenu


Ѐункция CreateMenu создаСт мСню. Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ мСню пустоС, Π½ΠΎ ΠΎΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π°ΠΌΠΈ мСню, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ InsertMenuItem, AppendMenu ΠΈ InsertMenu .


HMENU CreateMenu ( VOID )

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


Ѐункция Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².


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


Π’ случаС успСха возвращаСтся дСскриптор созданного мСню.

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


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


РСсурсы, связанныС с мСню, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΎ ΠΎΠΊΠ½Ρƒ, ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°ΡŽΡ‚ΡΡ автоматичСски. Если мСню Π½Π΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΎ ΠΎΠΊΠ½Ρƒ, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ рСсурсы, связанныС с мСню, ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ΠΌ прилоТСния. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ освобоТдаСт рСсурсы мСню, вызывая Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ DestroyMenu .

Windows 95: БистСма ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ максимум 16384 дСскрипторов мСню.


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


AppendMenu, CreatePopupMenu, DestroyMenu, InsertMenu, SetMenu, InsertMenuItem .


CreatePopupMenu


Ѐункция CreatePopupMenu создаСт Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ мСню (drop-down menu), подмСню ( submenu ) ΠΈΠ»ΠΈ мСню быстрого Π²Ρ‹Π·ΠΎΠ²Π° ( shortcut menu ). МСню ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ пустоС. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ InsertMenuItem . Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ InsertMenu для вставки ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² мСню ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ AppendMenu для добавлСния ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² мСню.


HMENU CreatePopupMenu ( VOID )

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


Ѐункция Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².


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


Π’ случаС успСха возвращаСтся дСскриптор созданного мСню.

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


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


ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ мСню Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ мСню, ΠΈΠ»ΠΈ ΠΎΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ мСню быстрого Π²Ρ‹Π·ΠΎΠ²Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ TrackPopupMenu ΠΈΠ»ΠΈ TrackPopupMenuEx .

РСсурсы, связанныС с мСню, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΎ ΠΎΠΊΠ½Ρƒ, ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°ΡŽΡ‚ΡΡ автоматичСски. Если мСню Π½Π΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΎ ΠΎΠΊΠ½Ρƒ, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ рСсурсы, связанныС с мСню, ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ΠΌ прилоТСния. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ освобоТдаСт рСсурсы мСню, вызывая Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ DestroyMenu .

Windows 95: БистСма ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ максимум 16384 дСскрипторов мСню.