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

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

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

Русский справочник ΠΏΠΎ Win32 API

ΠžΡ‚ изготовитСля fb2.


Данная ΠΊΠ½ΠΈΠ³Π° (ΠΊΡ€ΠΎΠΌΠ΅ всСго ΠΏΡ€ΠΎΡ‡Π΅Π³ΠΎ) содСрТит Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, ΠΊ соТалСнию Π½Π΅ всС Ρ‡ΠΈΡ‚Π°Π»ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡ… Π²ΠΎΡΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ.


Π”Π°Π²Π°ΠΉΡ‚Π΅, протСстируСм Π²Π°ΡˆΡƒ Ρ‡ΠΈΡ‚Π°Π»ΠΊΡƒ.


1 строка, 1 столбСц

1 строка, 2 столбСц

1 строка, 3 столбСц

2 строка 1 столбСц

2 строка 2 столбСц

ΡΠΏΠΎΡ€ΡŽ, Ρ‡Ρ‚ΠΎ Π½Π΅ Π΄ΠΎΠ³Π°Π΄Π°Π΅Ρ‚Π΅ΡΡŒ,

какая это строка


Если, вмСсто симпатичной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Π»ΠΈ Ρ‚Π°ΠΊΠΎΠ΅:


1 строка, 1 столбСц

1 строка, 2 столбСц

1 строка, 3 столбСц

2 строка 1 столбСц

2 строка 2 столбСц

...


Π—Π½Π°Ρ‡ΠΈΡ‚ ваша Ρ‡ΠΈΡ‚Π°Π»ΠΊΠ° Ρ‚Π°Π±Π»ΠΈΡ† Π½Π΅ Π²ΠΈΠ΄ΠΈΡ‚, Ρ‡Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Таль, Ρ‚.ΠΊ. Π² ΠΊΠ½ΠΈΠ³Π΅ ΠΈΡ… 49.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ?... Ну, я ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽ Ρ‚Π°ΠΊ. Π’ Mozilla Firefox поставил ΠΏΠ»Π°Π³ΠΈΠ½ для чтСния fb2, ΠΈ всС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Ρ€Π΅ΡˆΠ΅Π½Ρ‹, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹...



Π’ΠΎΡ‚ ΠΈ всС.

УспСхов w_cat.

Π¦Π²Π΅Ρ‚Π°

CreatePalette


Ѐункция CreatePalette создаСт Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ†Π²Π΅Ρ‚ΠΎΠ²ΡƒΡŽ ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρƒ.


HPALETTE CreatePalette (


CONST LOGPALETTE * lplgpl // ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ†Π²Π΅Ρ‚ΠΎΠ²ΡƒΡŽ ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρƒ

);


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


lplgpl - ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° структуру Ρ‚ΠΈΠΏΠ° LOGPALETTE , которая содСрТит ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ†Π²Π΅Ρ‚Π°Ρ… Π² логичСской ΠΏΠ°Π»ΠΈΡ‚Ρ€Π΅.


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


Π’ случаС успСха возвращаСтся дСскриптор, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρƒ.

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


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


ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π»ΠΈ устройство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с ΠΏΠ°Π»ΠΈΡ‚Ρ€Π°ΠΌΠΈ, Π²Ρ‹Π·Π²Π°Π² GetDeviceCaps ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ² константу RASTERCAPS .

Π‘ΠΎΠ·Π΄Π°Π² Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρƒ, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π΅Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π² контСкст устройства, Π²Ρ‹Π·Π²Π°Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ SelectPalette . ΠŸΠ°Π»ΠΈΡ‚Ρ€Π°, выбранная Π² контСкст устройства, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ RealizePalette .

Когда Π²Ρ‹ Π±ΠΎΠ»Π΅Π΅ Π½Π΅ Π½ΡƒΠΆΠ΄Π°Π΅Ρ‚Π΅ΡΡŒ Π² ΠΏΠ°Π»ΠΈΡ‚Ρ€Π΅, Π²Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ DeleteObject для Π΅Π΅ удалСния.


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


DeleteObject, GetDeviceCaps, LOGPALETTE, RealizePalette, SelectPalette .


GetNearestColor


Ѐункция GetNearestColor Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ Ρ†Π²Π΅Ρ‚ ΠΈΠ· систСмной ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.


COLORREF GetNearestColor (


HDC hdc , // дСскриптор контСкста устройства

COLORREF crColor // ΠΏΠΎΠ΄Π±ΠΈΡ€Π°Π΅ΠΌΡ‹ΠΉ Ρ†Π²Π΅Ρ‚

);


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


hdc - ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ контСкст устройства.

crColor - опрСдСляСт Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ Ρ†Π²Π΅Ρ‚.


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


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

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


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


GetDeviceCaps, GetNearestPaletteIndex, COLORREF .


GetSystemPaletteEntries


Ѐункция GetSystemPaletteEntries ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ Π² ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρƒ ΠΈΠ· систСмной ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρ‹, которая связана с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ контСкстом устройства (device context).


UINT GetSystemPaletteEntries (

HDC hdc , // дСскриптор контСкста устройства

UINT iStartIndex , // ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌΠΎΠ΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π² ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρƒ

UINT nEntries , // количСство ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌΡ‹Ρ… Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ Π² ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρƒ

LPPALETTEENTRY lppe // массив, ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠΉ вхоТдСния Π² ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρƒ

);


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


hdc - дСскриптор контСкста устройства

iStartIndex - опрСдСляСт ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌΠΎΠ΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π² ΡΠΈΡΡ‚Π΅ΠΌΠ½ΡƒΡŽ ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρƒ.

nEntries - опрСдСляСт количСство ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌΡ‹Ρ… ΠΈΠ· систСмной ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρ‹ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ.

lppe - ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° массив структур Ρ‚ΠΈΠΏΠ° PALETTEENTRY для получСния Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ Π² ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρƒ. Число элСмСнтов Π² массивС Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ мСньшС значСния, Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ nEntries . Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° lppe Ρ€Π°Π²Π½ΠΎ NULL, функция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±Ρ‰Π΅Π΅ количСство Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ Π² ΡΠΈΡΡ‚Π΅ΠΌΠ½ΡƒΡŽ ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρƒ.


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


Π’ случаС успСха возвращаСтся количСство Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ, ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½Π½Ρ‹Ρ… ΠΈΠ· ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρ‹.

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

Windows NT/2000/XP: Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ± ошибкС Π²Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ GetLastError.


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


ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π»ΠΈ устройство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с ΠΏΠ°Π»ΠΈΡ‚Ρ€ΠΎΠΉ, Π²Ρ‹Π·Π²Π°Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ GetDeviceCaps с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ RASTERCAPS.


ВрСбования


Windows NT/2000/XP: Π’ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π² Windows NT 3.1 ΠΈ Π²Ρ‹ΡˆΠ΅.

Windows 95/98/Me: Π’ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π² Windows 95 ΠΈ Π²Ρ‹ΡˆΠ΅.

Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ: ОбъявлСна Π² Wingdi.h; ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒWindows.h.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Gdi32.lib.


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


GetDeviceCaps, GetPaletteEntries, PALETTEENTRY.


ResizePalette


Ѐункция ResizePalette ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΈΠ»ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ логичСской ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρ‹, ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ.


BOOL ResizePalette (


HPALETTE hpal , // дСскриптор логичСской ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρ‹

UINT nEntries // число Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ Π² Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρƒ

);


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


hpal - ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΡƒΡŽ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρƒ.

nEntries - опрСдСляСт число Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ Π² ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρƒ послС измСнСния Π΅Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°.


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


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

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


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


ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π»ΠΈ устройство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с ΠΏΠ°Π»ΠΈΡ‚Ρ€ΠΎΠΉ, Π²Ρ‹Π·Π²Π°Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ GetDeviceCaps с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ RASTERCAPS .

Если ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ResizePalette для ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρ‹, вхоТдСния, ΠΎΡΡ‚Π°Π²ΡˆΠΈΠ΅ΡΡ Π² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠΉ ΠΏΠ°Π»ΠΈΡ‚Ρ€Π΅, Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ. Если ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ResizePalette для увСличСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρ‹, Ρ‚ΠΎ Π½ΠΎΠ²Ρ‹ΠΌ вхоТдСниям Π² ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρƒ присваиваСтся Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚ ΠΈ ΠΈΡ… Ρ„Π»Π°Π³ΠΈ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² Π½ΡƒΠ»ΡŒ.


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


GetDeviceCaps .


UpdateColors


Ѐункция UpdateColors обновляСт ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ контСкста устройства, пСрСустанавливая соотвСтствиС Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… Ρ†Π²Π΅Ρ‚ΠΎΠ² Π² клиСнтской области Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ логичСской ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρ‹.


BOOL UpdateColors (


HDC hdc // дСскриптор контСкста устройства

);


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


hdc - ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ контСкст устройства.


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


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

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


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


ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π»ΠΈ устройство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с ΠΏΠ°Π»ΠΈΡ‚Ρ€ΠΎΠΉ, Π²Ρ‹Π·Π²Π°Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ GetDeviceCaps с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ RASTERCAPS .

НСактивноС ΠΎΠΊΠ½ΠΎ с Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ логичСской ΠΏΠ°Π»ΠΈΡ‚Ρ€ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ UpdateColors Π² качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ пСрСрисовкС Π΅Π³ΠΎ клиСнтской области ΠΏΡ€ΠΈ смСнС систСмной ΠΏΠ°Π»ΠΈΡ‚Ρ€Ρ‹.

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

Ѐункция Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ сразу послС получСния ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ сообщСния WM _ PALETTECHANGED .


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


GetDeviceCaps, RealizePalette .


Атомы

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ

AddAtom


Ѐункция AddAtom добавляСт строку символов Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Π°Ρ‚ΠΎΠΌΠΎΠ² ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (Π°Ρ‚ΠΎΠΌ), ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ строку.


ATOM AddAtom (


LPCTSTR lpString // ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌΡƒΡŽ строку

);


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


lpString - ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌΡƒΡŽ строку, Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‰ΡƒΡŽΡΡ Π½ΡƒΠ»Π΅ΠΌ. Π‘Ρ‚Ρ€ΠΎΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π² 255 Π±Π°ΠΉΡ‚. Π‘Ρ‚Ρ€ΠΎΠΊΠΈ, ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΠ΅ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ рСгистром, ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹ΠΌΠΈ.


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


Π’ случаС успСха возвращаСтся созданный Π°Ρ‚ΠΎΠΌ.

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