´ÙÀ½ ¿¹Á¦¿¡¼´Â µÎ Ä¿¼ ÇÚµé: Ç¥ÁØ ¸ð·¡ ½Ã°è Ä¿¼ ¹× ÀÀ¿ë ÇÁ·Î±×·¥ÀÇ ¸®¼Ò½º Á¤ÀÇ ÆÄÀÏ¿¡ ¸®¼Ò½º·Î Æ÷ÇÔ µÈ »ç¿ëÀÚ ÁöÁ¤ Ä¿¼¿¡ ´ë ÇÑ Çϳª.
HINSTANCE hinst; / / ÇöÀç ÀνºÅϽº HCURSOR hCurs1, hCurs2;¿¡ ´ë ÇÑ ÇÚµé / / ó¸® ÇÏ´Â Ä¿¼ / / Ç¥ÁØ ¸ð·¡ ½Ã°è Ä¿¼¸¦ ¸¸µì´Ï´Ù.
hCurs1 = LoadCursor (NULL, IDC_WAIT);
/ / »ç¿ëÀÚ ÁöÁ¤ Ä¿¼¸¦ ±â¹ÝÀ¸·Î ¸®¼Ò½º¸¦ ¸¸µì´Ï´Ù.
hCurs2 = LoadCursor (hinst, MAKEINTRESOURCE(240))
ÀÚ¿øÀ¸·Î »ç¿ëÀÚ ÁöÁ¤ Ä¿¼¸¦ ±¸Çö ÇØ¾ß ÇÕ´Ï´Ù. ·±Å¸ÀÓ¿¡ Ä¿¼¸¦ ¸¸µå´Â ´ë½Å LoadCursor, LoadCursorFromFile¶Ç´Â LoadImage ÇÔ¼ö¸¦ »ç¿ë ÇÏ ¿© Áö¿ªÈ¸¦ ´Ü¼øÈ ÇÏ °í ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ Ä¿¼ µðÀÚÀÎÀ» °øÀ¯ÇÒ ¼ö ÀÖµµ·Ï ÀåÄ¡ ÀÇÁ¸À» ÇÇÇϱâ À§ÇØ.
´ÙÀ½ ¿¹Á¦¿¡¼´Â CreateCursor ÇÔ¼ö¸¦ »ç¿ë ÇÏ ¿© ·±Å¸ÀÓ¿¡ »ç¿ëÀÚ ÁöÁ¤ Ä¿¼¸¦ ¸¸µì´Ï´Ù. ½Ã½ºÅÛ Ä¿¼ ºñÆ® ¸¶½ºÅ©¸¦ Çؼ® ÇÏ´Â ¹æ¹ýÀ» ¼³¸í ÇÏ´Â ¿¹¸¦ ¿©±â Æ÷ÇÔ.
HINSTANCE hinst; // handle to current instance
HCURSOR hCurs1, hCurs2; // cursor handles
HCURSOR hCurs3; // cursor handle
// Yin cursor AND bitmask
BYTE ANDmaskCursor[] =
{
0xFF, 0xFC, 0x3F, 0xFF, // line 1
0xFF, 0xC0, 0x1F, 0xFF, // line 2
0xFF, 0x00, 0x3F, 0xFF, // line 3
0xFE, 0x00, 0xFF, 0xFF, // line 4
0xF7, 0x01, 0xFF, 0xFF, // line 5
0xF0, 0x03, 0xFF, 0xFF, // line 6
0xF0, 0x03, 0xFF, 0xFF, // line 7
0xE0, 0x07, 0xFF, 0xFF, // line 8
0xC0, 0x07, 0xFF, 0xFF, // line 9
0xC0, 0x0F, 0xFF, 0xFF, // line 10
0x80, 0x0F, 0xFF, 0xFF, // line 11
0x80, 0x0F, 0xFF, 0xFF, // line 12
0x80, 0x07, 0xFF, 0xFF, // line 13
0x00, 0x07, 0xFF, 0xFF, // line 14
0x00, 0x03, 0xFF, 0xFF, // line 15
0x00, 0x00, 0xFF, 0xFF, // line 16
0x00, 0x00, 0x7F, 0xFF, // line 17
0x00, 0x00, 0x1F, 0xFF, // line 18
0x00, 0x00, 0x0F, 0xFF, // line 19
0x80, 0x00, 0x0F, 0xFF, // line 20
0x80, 0x00, 0x07, 0xFF, // line 21
0x80, 0x00, 0x07, 0xFF, // line 22
0xC0, 0x00, 0x07, 0xFF, // line 23
0xC0, 0x00, 0x0F, 0xFF, // line 24
0xE0, 0x00, 0x0F, 0xFF, // line 25
0xF0, 0x00, 0x1F, 0xFF, // line 26
0xF0, 0x00, 0x1F, 0xFF, // line 27
0xF8, 0x00, 0x3F, 0xFF, // line 28
0xFE, 0x00, 0x7F, 0xFF, // line 29
0xFF, 0x00, 0xFF, 0xFF, // line 30
0xFF, 0xC3, 0xFF, 0xFF, // line 31
0xFF, 0xFF, 0xFF, 0xFF // line 32
};
// Yin cursor XOR bitmask
BYTE XORmaskCursor[] =
{
0x00, 0x00, 0x00, 0x00, // line 1
0x00, 0x03, 0xC0, 0x00, // line 2
0x00, 0x3F, 0x00, 0x00, // line 3
0x00, 0xFE, 0x00, 0x00, // line 4
0x0E, 0xFC, 0x00, 0x00, // line 5
0x07, 0xF8, 0x00, 0x00, // line 6
0x07, 0xF8, 0x00, 0x00, // line 7
0x0F, 0xF0, 0x00, 0x00, // line 8
0x1F, 0xF0, 0x00, 0x00, // line 9
0x1F, 0xE0, 0x00, 0x00, // line 10
0x3F, 0xE0, 0x00, 0x00, // line 11
0x3F, 0xE0, 0x00, 0x00, // line 12
0x3F, 0xF0, 0x00, 0x00, // line 13
0x7F, 0xF0, 0x00, 0x00, // line 14
0x7F, 0xF8, 0x00, 0x00, // line 15
0x7F, 0xFC, 0x00, 0x00, // line 16
0x7F, 0xFF, 0x00, 0x00, // line 17
0x7F, 0xFF, 0x80, 0x00, // line 18
0x7F, 0xFF, 0xE0, 0x00, // line 19
0x3F, 0xFF, 0xE0, 0x00, // line 20
0x3F, 0xC7, 0xF0, 0x00, // line 21
0x3F, 0x83, 0xF0, 0x00, // line 22
0x1F, 0x83, 0xF0, 0x00, // line 23
0x1F, 0x83, 0xE0, 0x00, // line 24
0x0F, 0xC7, 0xE0, 0x00, // line 25
0x07, 0xFF, 0xC0, 0x00, // line 26
0x07, 0xFF, 0xC0, 0x00, // line 27
0x01, 0xFF, 0x80, 0x00, // line 28
0x00, 0xFF, 0x00, 0x00, // line 29
0x00, 0x3C, 0x00, 0x00, // line 30
0x00, 0x00, 0x00, 0x00, // line 31
0x00, 0x00, 0x00, 0x00 // line 32
};
// Create a custom cursor at run time.
hCurs3 = CreateCursor( hinst, // app instance
19, // horizontal position of hot spot
2, // vertical position of hot spot
32, // cursor width
32, // cursor height
ANDmaskCursor, // AND bitmask
XORmaskCursor ); // XOR bitmask
Ä¿¼¸¦ ¸¸µé·Á¸é CreateCursor Àû¿ë ´ÙÀ½ Áø¸®Ç¥ AND ¹× XOR ºñÆ® ¸¶½ºÅ©.
±×¸®°í ¸¶½ºÅ© | XOR ¸¶½ºÅ© | µð½ºÇ÷¹ÀÌ |
---|---|---|
0 | 0 | ºí·¢ |
0 | 1 | ÈÀÌÆ® |
1 | 0 | ȸé |
1 | 1 | ¿ª¹æÇâ ȸé |
ÀÚ¼¼ÇÑ ³»¿ëÀº ÂüÁ¶ ºñÆ®¸Ê.
´Ý±â, Àü¿¡ CreateCursor¸¦ »ç¿ë ÇÏ ¿© ¸¸µç ¸ðµç Ä¿¼¸¦ Æı« ÇÏ´Â DestroyCursor ÇÔ¼ö¸¦ »ç¿ë ÇØ¾ß ÇÕ´Ï´Ù. ±×°ÍÀº ´Ù¸¥ ÇÔ¼ö¿¡ ÀÇÇØ ¸¸µé¾îÁø Ä¿¼¸¦ Æı« ÇÏ´Â µ¥ ÇÊ¿äÇÑ.