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

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

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

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


AppendMenu, CreateMenu, DestroyMenu, InsertMenu, SetMenu, TrackPopupMenu, TrackPopupMenuEx, InsertMenuItem .


DeleteMenu


Ѐункция DeleteMenu удаляСт ΠΏΡƒΠ½ΠΊΡ‚ ΠΈΠ· Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ мСню. Если ΠΏΡƒΠ½ΠΊΡ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ мСню ΠΈΠ»ΠΈ подмСню, эта функция Ρ€Π°Π·Ρ€ΡƒΡˆΠ°Π΅Ρ‚ дСскриптор мСню ΠΈΠ»ΠΈ подмСню ΠΈ освобоТдаСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡƒΡŽ ΠΈΠΌΠΈ ΠΏΠ°ΠΌΡΡ‚ΡŒ.


BOOL DeleteMenu (


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

UINT uPosition , // ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΈΠ»ΠΈ позиция ΠΏΡƒΠ½ΠΊΡ‚Π° мСню

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

);


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


hMenu - ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ мСню.

uPosition - Π·Π°Π΄Π°Π΅Ρ‚ удаляСмый ΠΏΡƒΠ½ΠΊΡ‚ мСню, согласно Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° uFlags .

uFlags - опрСдСляСт, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ интСрпрСтируСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° uPosition . ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ uFlags Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ:


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

ПояснСниС

MF_BYCOMMAND

Π£ΠΊΠ°Π·Ρ‹Π²Π΅Ρ‚, Ρ‡Ρ‚ΠΎ uPosition ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню. Π€Π»Π°Π³ MF_BYCOMMAND явялСтся Ρ„Π»Π°Π³ΠΎΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Ссли явно Π½Π΅ Π·Π°Π΄Π°Π½ Π½ΠΈ Ρ„Π»Π°Π³ MF_BYCOMMAND, Π½ΠΈ MF_BYPOSITION.

MF_BYPOSITION

Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ uPosition ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ, ΠΎΡ‚ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅ΠΌΡƒΡŽ ΠΎΡ‚ нуля ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню.


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


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

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


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


ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ DrawMenuBar ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ мСню, Π²Π½Π΅ зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, находится Π»ΠΈ мСню Π² ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠΌ ΠΎΠΊΠ½Π΅ ΠΈΠ»ΠΈ Π½Π΅Ρ‚.


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


DrawMenuBar, RemoveMenu .



GetMenuCheckMarkDimensions


Ѐункция являСтся ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅ΠΉ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ GetSystemMetrics со значСниями CXMENUCHECK ΠΈ CYMENUCHECK для извлСчСния Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² Π±ΠΈΡ‚ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±Ρ€Π°Π·Π°.

Ѐункция GetMenuCheckMarkDimensions Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Π±ΠΈΡ‚ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±Ρ€Π°Π·Π° ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню. Windows ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ этот Π±ΠΈΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π· Π² ΠΏΡƒΠ½ΠΊΡ‚Π΅ мСню. ΠŸΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ SetMenuItemBitmaps для измСнСния Π±ΠΈΡ‚ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±Ρ€Π°Π·Π° ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠΈ для ΠΏΡƒΠ½ΠΊΡ‚Π° мСню, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠ±Ρ€Π°Π·Π°, Π²Ρ‹Π·Π²Π°Π² GetMenuCheckMarkDimensions .


LONG GetMenuCheckMarkDimensions ( VOID )

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


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


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


Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ опрСдСляСт высоту ΠΈ ΡˆΠΈΡ€ΠΈΠ½Ρƒ Π±ΠΈΡ‚ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±Ρ€Π°Π·Π° ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² пиксСлях. Π‘Ρ‚Π°Ρ€ΡˆΠ΅Π΅ слово содСрТит высоту, младшС слово содСрТит ΡˆΠΈΡ€ΠΈΠ½Ρƒ.


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


SetMenuItemBitmaps .


GetMenuItemCount


Ѐункция GetMenuItemCount опрСдСляСт количСство ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ мСню.


int GetMenuItemCount (


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

);


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


hMenu - опрСдСляСт дСскриптор мСню, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒΡΡ количСство ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² .


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


Π’ случаС успСха Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ опрСдСляСт количСство ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² Π² мСню.

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


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


GetMenuItemID .



GetMenuItemID


Ѐункция GetMenuItemID ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню, находящСгося Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π² мСню.


UINT GetMenuItemID (


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

int nPos // позиция ΠΏΡƒΠ½ΠΊΡ‚Π° мСню

);


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


hMenu - ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ мСню, содСрТащСС ΠΏΡƒΠ½ΠΊΡ‚ мСню, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ извлСкаСтся.

nPos - опрСдСляСт ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ (отсчСт начинаСтся с нуля) ΠΏΡƒΠ½ΠΊΡ‚Π° мСню, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ извлСкаСтся.


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


Π’ случаС успСха возвращаСтся ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню.

Если ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ мСню Ρ€Π°Π²Π΅Π½ NULL, ΠΈΠ»ΠΈ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ мСню ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ подмСню, возвращаСтся 0 xFFFFFFFF .


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


GetMenuItemCount, GetMenuString .


GetMailslotInfo


Ѐункция GetMailslotInfo ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ мэйлслотС.


BOOL GetMailslotInfo (


HANDLE hMailslot , // дСскриптор мэйлслота

LPDWORD lpMaxMessageSize , // адрСс максимального Ρ€Π°Π·ΠΌΠ΅Ρ€Π° сообщСния

LPDWORD lpNextSize , // адрСс Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ сообщСния

LPDWORD lpMessageCount , // адрСс количСства сообщСний

LPDWORD lpReadTimeout // адрСс Ρ‚Π°ΠΉΠΌ - Π°ΡƒΡ‚Π° чтСния

);


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


hMailslot - ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ мэйлслот. Π­Ρ‚ΠΎΡ‚ дСскриптор Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ функция CreateMailslot .

lpMaxMessageSize - ΠΊΠΎΠ³Π΄Π° функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π±ΡƒΡ„Π΅Ρ€, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ письма Π² Π±Π°ΠΉΡ‚Π°Ρ…, допустимый для этого мэйлслота. Π­Ρ‚Π° Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ большС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° cbMaxMsg Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ CreateMailslot , создавшСй мэйлслот. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π²Π½ΠΎ Π½ΡƒΠ»ΡŽ.

lpNextSize - ΠΊΠΎΠ³Π΄Π° функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π±ΡƒΡ„Π΅Ρ€, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ письма Π² Π±Π°ΠΉΡ‚Π°Ρ…. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅:

MAILSLOT_NO_MESSAGE - ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ сообщСниС отсутствуСт.

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π²Π½ΠΎ Π½ΡƒΠ»ΡŽ.

lpMessageCount - ΠΊΠΎΠ³Π΄Π° функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅, ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π±ΡƒΡ„Π΅Ρ€, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ количСство сообщСний, ΠΆΠ΄ΡƒΡ‰ΠΈΡ… прочтСния. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π²Π½ΠΎ Π½ΡƒΠ»ΡŽ.

lReadTimeout - ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π±ΡƒΡ„Π΅Ρ€, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΉ количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π² миллисСкундах, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ опСрация чтСния ΠΌΠΎΠΆΠ΅Ρ‚ ΠΆΠ΄Π°Ρ‚ΡŒ сообщСния, записанного Π² мэйлслот, Π΄ΠΎ наступлСния Ρ‚Π°ΠΉΠΌ-Π°ΡƒΡ‚Π°. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ заполняСтся, ΠΊΠΎΠ³Π΄Π° функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π²Π½ΠΎ Π½ΡƒΠ»ΡŽ.


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


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

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


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


CreateMailslot, SetMailslotInfo .


GetMenuState


Ѐункция GetMenuState ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ Ρ„Π»Π°Π³ΠΈ мСню, ассоциированныС с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠΌ мСню. Если ΠΏΡƒΠ½ΠΊΡ‚ мСню ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ подмСню, функция Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ количСство ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² Π² подмСню.

Ѐункция GetMenuState Π·Π°ΠΌΠ΅Π½Π΅Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ GetMenuItemInfo . Π’Ρ‹, Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ GetMenuState , Ссли Ρƒ вас Π½Π΅Ρ‚ нСобходимости Π² Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… возмоТностях Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ GetMenuItemInfo .


UINT GetMenuState (


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

UINT uId , // Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ мСню

UINT uFlags // Ρ„Π»Π°Π³ΠΈ мСню

);


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


hMenu - ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ мСню, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ содСрТит ΠΏΡƒΠ½ΠΊΡ‚, Ρ‡ΡŒΠΈ Ρ„Π»Π°Π³ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡŽΡ‚ΡΡ.

uId - опрСдСляСт ΠΏΡƒΠ½ΠΊΡ‚ мСню, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡŽΡ‚ΡΡ Ρ„Π»Π°Π³ΠΈ мСню.

uFlags - опрСдСляСт, ΠΊΠ°ΠΊ интСрпрСтируСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° uId . ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ uFlags Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ:


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

ПояснСниС

MF_BYCOMMAND

Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ uPosition ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню. Π€Π»Π°Π³ MF_BYCOMMAND являСтся Ρ„Π»Π°Π³ΠΎΠΌ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Ссли явно Π½Π΅ Π·Π°Π΄Π°Π½ Π½ΠΈ Ρ„Π»Π°Π³ MF_BYCOMMAND, Π½ΠΈ MF_BYPOSITION.

MF_BYPOSITION

Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ uPosition ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ, ΠΎΡ‚ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅ΠΌΡƒΡŽ с нуля ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню.


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


Если ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню Π½Π΅ сущСствуСт, возвращаСтся 0 xFFFFFFFF .

Если ΠΏΡƒΠ½ΠΊΡ‚ мСню ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ подмСню, младший Π±Π°ΠΉΡ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ значСния содСрТит Ρ„Π»Π°Π³ΠΈ мСню, связанныС с ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠΌ, Π° ΡΡ‚Π°Ρ€ΡˆΠΈΠΉ Π±Π°ΠΉΡ‚ содСрТит число ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² Π² подмСню.

Π’ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… случаях Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ являСтся маской Ρ„Π»Π°Π³ΠΎΠ² мСню. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Ρ„Π»Π°Π³ΠΈ мСню, связанныС с ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠΌ мСню:


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

ПояснСниС

MF_CHECKED

ΠŸΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΡƒ Π² ΠΏΡƒΠ½ΠΊΡ‚ мСню (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… мСню, мСню быстрого Π²Ρ‹Π·ΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ подмСню).

MF_DISABLED

Π—Π°ΠΏΡ€Π΅Ρ‰Π°Π΅Ρ‚ ΠΏΡƒΠ½ΠΊΡ‚ мСню.

MF_GRAYED

Π—Π°ΠΏΡ€Π΅Ρ‰Π°Π΅Ρ‚ ΠΏΡƒΠ½ΠΊΡ‚ мСню ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ Π·Π°Ρ‚Π΅Π½Π΅Π½Π½Ρ‹ΠΌ.

MF_HILITE

ΠŸΠΎΠ΄ΡΠ²Π΅Ρ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΏΡƒΠ½ΠΊΡ‚ мСню.

MF_MENUBARBREAK

Π’ΠΎ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ Ρ„Π»Π°Π³ MF _ MENUBREAK, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… мСню, мСню быстрого Π²Ρ‹Π·ΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ подмСню, Π³Π΄Π΅ Π½ΠΎΠ²Ρ‹ΠΉ столбСц ΠΎΡ‚ старого столбца отдСляСтся Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ‡Π΅Ρ€Ρ‚ΠΎΠΉ.