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

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

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

lpcf - ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° структуру Ρ‚ΠΈΠΏΠ° CHOOSEFONT , которая содСрТит ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡƒΡŽ для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°. Когда ChooseFont Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅, структура содСрТит ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΡˆΡ€ΠΈΡ„Ρ‚Π΅.


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


Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ ОК Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅, возвращаСтся Π½Π΅Π½ΡƒΠ»Π΅Π²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π§Π»Π΅Π½Ρ‹ структуры Ρ‚ΠΈΠΏΠ° CHOOSEFONT ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π²Ρ‹Π±ΠΎΡ€ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°ΠΆΠ°Π» ΠΊΠ½ΠΎΠΏΠΊΡƒ Cancel, ΠΈΠ»ΠΈ Π·Π°ΠΊΡ€Ρ‹Π» Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка - возвращаСтся Π½ΡƒΠ»ΡŒ. Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ± ошибкС Π²Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ CommDlgExtendedError , которая ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ:


CDERR_FINDRESFAILURE

CDERR_NOHINSTANCE

CDERR_INITIALIZATION

CDERR_NOHOOK

CDERR_LOCKRESFAILURE

CDERR_NOTEMPLATE

CDERR_LOADRESFAILURE

CDERR_STRUCTSIZE

CDERR_LOADSTRFAILURE

CFERR_MAXLESSTHANMIN

CDERR_MEMALLOCFAILURE

CFERR_NOFONTS

CDERR_MEMLOCKFAILURE


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


Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ-Π»ΠΎΠ²ΡƒΡˆΠΊΡƒ (hook procedure) CCHookProc для Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°. Ѐункция-Π»ΠΎΠ²ΡƒΡˆΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ сообщСния, отправляСмыС Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌΡƒ ΠΎΠΊΠ½Ρƒ. Для использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ установитС Ρ„Π»Π°Π³ CC_ENABLEHOOK Π² Ρ‡Π»Π΅Π½Π΅ Flags структуры Ρ‚ΠΈΠΏΠ° CHOOSEFONT ΠΈ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ адрСс Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Ρ‡Π»Π΅Π½Π΅ lpfnHook .

Ѐункция-Π»ΠΎΠ²ΡƒΡˆΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌΡƒ ΠΎΠΊΠ½Ρƒ сообщСния WM _ CHOOSEFONT _ GETLOGFONT, WM _ CHOOSEFONT _ SETFLAGS ΠΈ WM _ CHOOSEFONT _ SETLOGFONT для получСния ΠΈ установки Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ„Π»Π°Π³ΠΎΠ² Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅.


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


CFHookProc, CHOOSEFONT, CommDlgExtendedError, LOGFONT , WM_CHOOSEFONT_GETLOGFONT, WM_CHOOSEFONT_SETFLAGS, WM_CHOOSEFONT_SETLOGFONT.


Иконки

CopyIcon


Ѐункция CopyIcon ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ Π·Π°Π΄Π°Π½Π½ΡƒΡŽ ΠΈΠΊΠΎΠ½ΠΊΡƒ Π² Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ модуля.


HICON CopyIcon (


HICON hIcon // дСскриптор ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ ΠΈΠΊΠΎΠ½ΠΊΠΈ

);


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


hIcon - ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌΡƒΡŽ ΠΈΠΊΠΎΠ½ΠΊΡƒ.


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


Π’ случаС успСха возвращаСтся дСскриптор Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΡƒΡŽ копию ΠΈΠΊΠΎΠ½ΠΊΠΈ.

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


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


Ѐункция CopyIcon позволяСт ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ ΠΈΠ»ΠΈ динамичСски ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ свой собствСнный дСскриптор ΠΈΠΊΠΎΠ½ΠΊΠΈ, находящСйся Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅. Если Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΈΠΊΠΎΠ½ΠΊΡƒ.


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


CopyCursor, DrawIcon, DrawIconEx.



CreateIcon


Ѐункция CreateIcon создаСт ΠΈΠΊΠΎΠ½ΠΊΡƒ, которая ΠΈΠΌΠ΅Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€, Ρ†Π²Π΅Ρ‚Π° ΠΈ Π±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹.


HICON CreateIcon (


HINSTANCE hInstance , // дСскриптор экзСмпляра прилоТСния

int nWidth , // ΡˆΠΈΡ€ΠΈΠ½Π° ΠΈΠΊΠΎΠ½ΠΊΠΈ

int nHeight , // высота ΠΈΠΊΠΎΠ½ΠΊΠΈ

BYTE cPlanes , // число плоскостСй Π² Π±ΠΈΡ‚ΠΎΠ²ΠΎΠΉ маскС ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ Π˜Π›Π˜

BYTE cBitsPixel , // число Π±ΠΈΡ‚ Π½Π° пиксСль

// Π² Π±ΠΈΡ‚ΠΎΠ²ΠΎΠΉ маскС ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ Π˜Π›Π˜

CONST BYTE * lpbANDbits , // ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° массив Π±ΠΈΡ‚ΠΎΠ²ΠΎΠΉ маски И

CONST BYTE * lpbXORbits // ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° массив Π±ΠΈΡ‚ΠΎΠ²ΠΎΠΉ маски Π˜Π›Π˜

);


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


hInstance - ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ экзСмпляр модуля, ΡΠΎΠ·Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΈΠΊΠΎΠ½ΠΊΡƒ.

nWidth - опрСдСляСт ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΈΠΊΠΎΠ½ΠΊΠΈ Π² пиксСлях.

nHeight - опрСдСляСт высоту ΠΈΠΊΠΎΠ½ΠΊΠΈ Π² пиксСлях.

cPlanes - опрСдСляСт число плоскостСй Π² Π±ΠΈΡ‚ΠΎΠ²ΠΎΠΉ маскС ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ Π˜Π›Π˜ ΠΈΠΊΠΎΠ½ΠΊΠΈ.

cBitsPixel - опрСдСляСт число Π±ΠΈΡ‚ Π½Π° пиксСль Π² Π±ΠΈΡ‚ΠΎΠ²ΠΎΠΉ маскС ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ Π˜Π›Π˜ ΠΈΠΊΠΎΠ½ΠΊΠΈ.

lpbANDbits - ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° массив Π±Π°ΠΉΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит Π±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ значСния для маски И ΠΈΠΊΠΎΠ½ΠΊΠΈ. Вакая битовая маска описываСт ΠΌΠΎΠ½ΠΎΡ…Ρ€ΠΎΠΌΠ½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.

lpbXORbits - ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° массив Π±Π°ΠΉΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит Π±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ значСния для маски ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ Π˜Π›Π˜ ΠΈΠΊΠΎΠ½ΠΊΠΈ. Вакая битовая маска описываСт зависимоС ΠΎΡ‚ устройства Ρ†Π²Π΅Ρ‚Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.


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


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

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


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


ЗначСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² nWidth ΠΈ nHeight Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΈ высоту, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠΌ дисплСя, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ систСма Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠΊΠΎΠ½ΠΊΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ². Для опрСдСлСния Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ ΡˆΠΈΡ€ΠΈΠ½Π° ΠΈ высота ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠΌ дисплСя, Π²Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ GetSystemMetrics , ΡƒΠΊΠ°Π·Π°Π² значСния SM _ CXICON ΠΈ SM _ CYICON .

CreateIcon примСняСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ истинности для Π±ΠΈΡ‚ΠΎΠ²Ρ‹Ρ… масок.


Битовая маска И

Битовая маска ΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ Π˜Π›Π˜

ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

0

0

Π§Π΅Ρ€Π½ΠΎΠ΅.

0

1

Π‘Π΅Π»ΠΎΠ΅.

1

0

Π¦Π²Π΅Ρ‚ экрана.

1

1

ΠžΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚ экрана.


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


GetSystemMetrics .


CreateIconFromResource


Ѐункция CreateIconFromResource создаСт ΠΈΠΊΠΎΠ½ΠΊΡƒ ΠΈΠ»ΠΈ курсор ΠΈΠ· Π±ΠΈΡ‚ΠΎΠ² рСсурса, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΡ… ΠΈΠΊΠΎΠ½ΠΊΡƒ.


HICON CreateIconFromResource (


PBYTE presbits , // ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π±ΠΈΡ‚Ρ‹ рСсурса

DWORD dwResSize , // число Π±ΠΈΡ‚ Π² Π±ΡƒΡ„Π΅Ρ€Π΅

BOOL fIcon , // Ρ„Π»Π°Π³ ΠΈΠΊΠΎΠ½ΠΊΠΈ ΠΈΠ»ΠΈ курсора

DWORD dwVer // вСрсия Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Windows

);


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


presbits - ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π±ΡƒΡ„Π΅Ρ€, содСрТащий Π±ΠΈΡ‚Ρ‹ рСсурса ΠΈΠΊΠΎΠ½ΠΊΠΈ ΠΈΠ»ΠΈ курсора. Π­Ρ‚ΠΈ Π±ΠΈΡ‚Ρ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ LookupIconIdFromDirectory (Π² Windows 95 Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ LookupIconIdFromDirectoryEx ) ΠΈ LoadResource .

dwResSize - опрСдСляСт Ρ€Π°Π·ΠΌΠ΅Ρ€, Π² Π±Π°ΠΉΡ‚Π°Ρ…, Π½Π°Π±ΠΎΡ€Π° Π±ΠΈΡ‚ΠΎΠ², Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ presbits .

fIcon - опрСдСляСт, Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒΡΡ ΠΈΠΊΠΎΠ½ΠΊΠ° ΠΈΠ»ΠΈ курсор. Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этого ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Ρ€Π°Π²Π½ΠΎ TRUE, создаСтся ΠΈΠΊΠΎΠ½ΠΊΠ°. Π˜Π½Π°Ρ‡Π΅ создаСтся курсор.

dwVer - опрСдСляСт Π½ΠΎΠΌΠ΅Ρ€ вСрсии Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΈΠΊΠΎΠ½ΠΊΠΈ ΠΈΠ»ΠΈ курсора для Π±ΠΈΡ‚ΠΎΠ² рСсурса, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ presbits . ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ:


Π€ΠΎΡ€ΠΌΠ°Ρ‚

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

Windows 2. x

0x00020000

Windows 3.x

0x00030000


ВсС Win 32 прилоТСния Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΈΠΊΠΎΠ½ΠΎΠΊ ΠΈ курсоров Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Windows 3. x .


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


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

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


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


Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ CreateIconFromResource, CreateIconIndirect, GetIconInfo ΠΈ LookupIconIdFromDirectory (Π² Windows 95 Ρ‚Π°ΠΊΠΆΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ CreateIconFromResourceEx ΠΈ LookupIconIdFromDirectoryEx ) ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ прилоТСниям ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌ ΠΈΠΊΠΎΠ½ΠΎΠΊ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ рСсурсы всСй систСмы.


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


CreateIconFromResourceEx, CreateIconIndirect, GetIconInfo, LoadResource, LookupIconIdFromDirectory, LookupIconIdFromDirectoryEx .


CreateIconFromResourceEx


Ѐункция CreateIconFromResourceEx создаСт ΠΈΠΊΠΎΠ½ΠΊΡƒ ΠΈΠ»ΠΈ курсор ΠΈΠ· Π±ΠΈΡ‚ΠΎΠ² рСсурса, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΡ… ΠΈΠΊΠΎΠ½ΠΊΡƒ.


HICON CreateIconFromResourceEx (


PBYTE pbIconBits , // ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π±ΠΈΡ‚Ρ‹ рСсурса

DWORD cbIconBits , // число Π±ΠΈΡ‚ Π² Π±ΡƒΡ„Π΅Ρ€Π΅

BOOL fIcon , // Ρ„Π»Π°Π³ ΠΈΠΊΠΎΠ½ΠΊΠΈ ΠΈΠ»ΠΈ курсора

DWORD dwVersion , // вСрсия Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Windows

int cxDesired , // ТСлаСмая ΡˆΠΈΡ€ΠΈΠ½Π° ΠΈΠΊΠΎΠ½ΠΊΠΈ ΠΈΠ»ΠΈ курсора

int cyDesired , // ТСлаСмая высота ΠΈΠΊΠΎΠ½ΠΊΠΈ ΠΈΠ»ΠΈ курсора

UINT uFlags

);


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


pbIconBits - ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π±ΡƒΡ„Π΅Ρ€, содСрТащий Π±ΠΈΡ‚Ρ‹ рСсурса ΠΈΠΊΠΎΠ½ΠΊΠΈ ΠΈΠ»ΠΈ курсора. Π­Ρ‚ΠΈ Π±ΠΈΡ‚Ρ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ LookupIconIdFromDirectory (Π² Windows 95 Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ LookupIconIdFromDirectoryEx ) ΠΈ LoadResource .

cbIconBits - опрСдСляСт Ρ€Π°Π·ΠΌΠ΅Ρ€, Π² Π±Π°ΠΉΡ‚Π°Ρ…, Π½Π°Π±ΠΎΡ€Π° Π±ΠΈΡ‚ΠΎΠ², Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ pbIconBits .

fIcon - опрСдСляСт, Π±ΡƒΠ΄Π΅Ρ‚ Π»ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒΡΡ ΠΈΠΊΠΎΠ½ΠΊΠ° ΠΈΠ»ΠΈ курсор. Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этого ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Ρ€Π°Π²Π½ΠΎ TRUE, создаСтся ΠΈΠΊΠΎΠ½ΠΊΠ°. Π˜Π½Π°Ρ‡Π΅ создаСтся курсор.

dwVersion - опрСдСляСт Π½ΠΎΠΌΠ΅Ρ€ вСрсии Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΈΠΊΠΎΠ½ΠΊΠΈ ΠΈΠ»ΠΈ курсора для Π±ΠΈΡ‚ΠΎΠ² рСсурса, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ pbIconBits . ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ:


Π€ΠΎΡ€ΠΌΠ°Ρ‚

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