³ª.ToolTip ¿¹Á¦

ÅøÆÁµµ ¸®½ºÆ® ºä³ª ÇÁ·Î±×·¡½º ¹Ù °°Àº °øÅë ÄÁÆ®·ÑÀε¥ ÀÌ »ç½ÇÀÌ ¼±¶æ ÀÌÇØ°¡ °¡Áö ¾Ê´Â »ç¶÷µµ ÀÖÀ» °ÍÀÌ´Ù. Ç×»ó º¸ÀÌ´Â °ÍÀÌ ¾Æ´Ï°í ºÒ¾¦ ºÒ¾¦ ¾Æ¹« °÷¿¡³ª ³ªÅ¸³ª±â ¶§¹®¿¡ ¹º°¡ Ư¼öÇØ º¸ÀÌÁö¸¸ ¾Ë°í º¸¸é ½º½º·Î À§Ä¡¸¦ ¿Å±æ ¼ö ÀÖ´Â Æ˾÷ À©µµ¿ìÀÏ»ÓÀÌ´Ù. ±×·¡¼­ ´Ù¸¥ °øÅë ÄÁÆ®·ÑÀ» ÇÁ·Î±×·¡¹ÖÇÏ´Â ¹æ¹ý°ú ºñ½ÁÇÑ ¹æ¹ýÀ¸·Î ´Ù·ç¸é µÈ´Ù. ¼Ó¼ºÀÌ ÀÖ°í ¸Þ½ÃÁö·Î ÇÁ·Î±×·¡¹ÖÇϸç ÅëÁö ¸Þ½ÃÁö¸¦ ºÎ¸ð À©µµ¿ì·Î º¸³»±âµµ ÇÑ´Ù.

ÀÏÁ¾ÀÇ À©µµ¿ìÀ̹ǷΠ»ý¼ºÇÒ ¶§´Â ´ç¿¬È÷ CreateWindow(Ex) ÇÔ¼ö¸¦ »ç¿ëÇϴµ¥ Ŭ·¡½º À̸§À¸·Î TOOLTIPS_CLASS¸¦ ÁØ´Ù. ´Ü, ´Ù¸¥ ÄÁÆ®·Ñ°ú´Â ´Þ¸® »ý¼ºÇÒ ¶§ ¸î°¡Áö ´Ù¸¥ Á¡ÀÌ Àִµ¥ ÀÌ Á¡¸¸ ÁÖÀÇÇؼ­ »ý¼ºÇÏ¸é µÈ´Ù.

 

¨ç Ç×»ó ž¸ð½ºÆ® È®Àå ½ºÅ¸ÀÏÀ» ÁÖ´Â °ÍÀÌ ÁÁ´Ù. ±×·¸Áö ¾ÊÀ¸¸é ºÎ¸ð³ª ÇüÁ¦ À©µµ¿ìµé¿¡ ÀÇÇØ °¡·ÁÁ® ¾Èº¸ÀÌ´Â °æ¿ì°¡ ÀÖÀ¸¹Ç·Î Ưº°ÇÑ ÀÌÀ¯°¡ ¾ø´Â ÇÑ Å¾¸ð½ºÆ® È®Àå ½ºÅ¸ÀÏÀ» ÁÖµµ·Ï ÇÏÀÚ. Ư¼º»ó ´Ù¸¥ À©µµ¿ìº¸´Ù ¾Æ·¡¿¡ ÀÖÀ¸¸é Á¸Àç °¡Ä¡°¡ ¾ø¾îÁø´Ù.

¨è WS_POPUP ½ºÅ¸ÀÏ°ú WS_EX_TOOLWINDOW È®Àå ½ºÅ¸ÀÏÀ» Ç×»ó °¡Á®¾ß ÇÑ´Ù. ÅøÆÁÀÌ Å¸ÀÌƲ ¹Ù³ª ½Ã½ºÅÛ ¸Þ´º¸¦ °¡Áö°í ÀÖÀ¸¸é ¾ó¸¶³ª ²ÃºÒ°ßÀ̰ڴ°¡? ÇÏÁö¸¸ ÀÌ µÎ ½ºÅ¸ÀÏÀº »ý¼ºÇÒ ¶§ ÁÖÁö ¾Ê¾Æµµ ÅøÆÁ ÄÁÆ®·ÑÀÌ ¾Ë¾Æ¼­ Àû¿ëÇϹǷΠ»ý·« °¡´ÉÇÏ´Ù. Ç×»ó ÀÌ µÎ ½ºÅ¸ÀÏÀÌ Àû¿ëµÈ´Ù´Â °Í¸¸ ¾Ë¾Æ µÎÀÚ.

¨é »ý¼ºÇÒ ¶§ ÁØ ÁÂÇ¥´Â ¾Æ¹« Àǹ̰¡ ¾ø´Ù. ÅøÀ» µî·ÏÇÏ¸é ¾Ë¾Æ¼­ Åø À§Ä¡·Î ¿Å°Ü°¡¹Ç·Î »ý¼ºÇÒ ¶§ ÁÂÇ¥´Â CW_USEDEFAULT·Î ÁÖ¸é º° ¹®Á¦°¡ ¾ø´Ù.

 

´ÙÀ½Àº ÅøÆÁÀÇ ½ºÅ¸ÀÏÀÌ´Ù. CreateWindow·Î ÅøÆÁÀ» ¸¸µé ¶§ ÀÌ ½ºÅ¸ÀÏ Áß ¿øÇÏ´Â ½ºÅ¸ÀÏÀ» ÁöÁ¤ÇØ ÁØ´Ù. ½Ç¿ëÀûÀ¸·Î ¾µ¸¸ÇÑ ½ºÅ¸ÀÏÀÌ º°·Î ¾øÀ¸¹Ç·Î ÀÏ´ÜÀº 0À¸·Î Á൵ Å« »ó°üÀÌ ¾ø´Ù.

 

½ºÅ¸ÀÏ

¼³¸í

TTS_ALWAYSTIP

¼ÒÀ¯ À©µµ¿ì°¡ ¾×Ƽºê »óÅ°¡ ¾Æ´Ò ¶§µµ ÅøÆÁÀ» º¸¿© ÁØ´Ù. ÀÌ ½ºÅ¸ÀÏÀÌ ÁöÁ¤µÇÁö ¾ÊÀ¸¸é ¾×Ƽºê »óÅÂÀÏ ¶§¸¸ ÅøÆÁÀÌ ³ªÅ¸³­´Ù. ÀϹÝÀûÀ¸·Î ÀÌ ½ºÅ¸ÀÏÀº ÁÖÁö ¾Ê´Â °ÍÀÌ ¹Ù¶÷Á÷ÇÏ´Ù.

TTS_BALLOON

5.80ÀÌ»ó.dz¼±Çü µµ¿ò¸»À» º¸¿©ÁØ´Ù.

TTS_NOANIMATE

5.80ÀÌ»ó.½½¶óÀ̵ù ¾Ö´Ï¸ÞÀ̼ÇÀ» ÇÏÁö ¾Êµµ·Ï ÇÑ´Ù.

TTS_NOFADE

5.80ÀÌ»ó.ÆäÀÌµå ¾Ö´Ï¸ÞÀ̼ÇÀ» ÇÏÁö ¾Êµµ·Ï ÇÑ´Ù.

TTS_NOPREFIX

ÅøÆÁ ÄÁÆ®·ÑÀº Åø ÅؽºÆ®ÀÇ &¸¦ Á¦°ÅÇØ Áִµ¥ ÀÌ ½ºÅ¸ÀÏÀ» ÁÖ¸é &¸¦ Á¦°ÅÇÏÁö ¾Êµµ·Ï ÇÑ´Ù. Åø ÅؽºÆ®¸¦ ¸Þ´º¿Í µ¿ÀÏÇÏ°Ô ÀÛ¼ºÇÏ°íÀÚ ÇÒ °æ¿ì´Â ¸Þ´ºÀÇ ´ÜÃàÅ°¸¦ ÁöÁ¤ÇÏ´Â & ¹®ÀÚ¸¦ Á¦°ÅÇÏ´Â °ÍÀÌ ÁÁ´Ù. ¿¹¸¦ µé¾î ¸Þ´º Ç׸ñ &Open¿¡ ´ëÇÑ Åø ÅؽºÆ®´Â &Openº¸´Ù´Â OpenÀÌ ´õ º¸±â ÁÁ´Ù.

 

ÇϳªÀÇ ÅøÆÁ ÄÁÆ®·ÑÀ» ¸¸µé¸é ÀÌ ÄÁÆ®·Ñ·Î º¹¼ö°³ÀÇ Åø¿¡ ´ëÇØ ÅøÆÁ ±â´ÉÀ» Á¦°øÇÒ ¼ö ÀÖ´Ù. 10°³ÀÇ ¹öÆ°¿¡ ´ëÇØ ÅøÆÁÀ» Á¦°øÇÒ ¶§ 10°³ÀÇ ÅøÆÁ ÄÁÆ®·ÑÀ» ¸¸µé ÇÊ¿ä°¡ ¾øÀ¸¸ç ÇϳªÀÇ ÅøÆÁÀ» ¸¸µç ÈÄ ÀÌ ÄÁÆ®·Ñ¿¡ 10°³ÀÇ ÅøÀ» µî·ÏÇÏ¸é µÈ´Ù. ¾îÂ÷ÇÇ Çѹø¿¡ ÇϳªÀÇ ÅøÆÁ¸¸ º¸À̹ǷΠÅøÆÁ ÄÁÆ®·ÑÀº Çϳª¸¸ ÀÖÀ¸¸é µÈ´Ù. ¹°·Ð ¾ÆÁÖ Æ¯¼öÇÑ °æ¿ì, ¿¹¸¦ µé¾î ½ºÅ¸ÀÏÀÌ ´Ù¸¥ ÅøÆÁÀ» µ¿½Ã¿¡ »ç¿ëÇÏ°í ½Í´Ù¸é µÑ ÀÌ»ó »ý¼ºÇصµ »ó°ü¾ø´Ù.

ÅøÆÁ ÄÁÆ®·ÑÀ» »ý¼ºÇÑ ÈÄ ÅøÆÁ ´ë»óÀÌ µÇ´Â ÅøÀ» µî·ÏÇØ¾ß Çϴµ¥ À̶§´Â TTM_ADDTOOL ¸Þ½ÃÁö¸¦ »ç¿ëÇÑ´Ù. ÀÌ ¸Þ½ÃÁöÀÇ lParamÀ¸·Î µî·ÏµÉ Åø¿¡ ´ëÇÑ Á¤º¸¸¦ °¡Áö´Â TOOLINFO ±¸Á¶Ã¼¸¦ Àü´ÞÇØ ÁØ´Ù. ÀÌÂëµÇ¸é ÁüÀÛÀÌ °¡°ÚÁö¸¸ ÀÌ ±¸Á¶Ã¼°¡ ¹Ù·Î ÅøÆÁ ÄÁÆ®·ÑÀÇ ÇÙ½ÉÀ̶ó ÇÒ ¼ö ÀÖÀ¸¸ç ÅøÆÁÀ» ÀÚÀ¯ ÀÚÀç·Î ´Ù·ç°í ½Í´Ù¸é ÀÏ´Ü ÀÌ ±¸Á¶Ã¼¸¦ ÀÌÇØÇØ¾ß ÇÏ°í ¾Ï±âÇÒ ¼ö ÀÖÀ¸¸é ´õ ÁÁ´Ù. ¾î¶»°Ô ¼±¾ðµÇ¾î ÀÖ´ÂÁö º¸ÀÚ.

 

typedef struct tagTOOLINFO{

    UINT      cbSize;

    UINT      uFlags;

    HWND      hwnd;

    UINT_PTR  uId;

    RECT      rect;

    HINSTANCE hinst;

    LPTSTR    lpszText;

#if (_WIN32_IE >= 0x0300)

    LPARAM lParam;

#endif

} TOOLINFO, NEAR *PTOOLINFO, FAR *LPTOOLINFO;

 

cbSize

¹öÀü È®ÀÎÀ» À§ÇÑ ±¸Á¶Ã¼ÀÇ Å©±âÀ̸ç sizeof(TOOLINFO)¸¦ ´ëÀÔÇØ ÁÖ¸é µÈ´Ù. ÀÌ ¸â¹öÀÇ °ªÀº ¹Ýµå½Ã ´ëÀÔÇØ ÁÖ¾î¾ß ÇÑ´Ù.

uFlags

ÅøÆÁÀÇ Ç¥½Ã ¹æ½ÄÀ» ÁöÁ¤ÇÏ´Â Ç÷¡±×µéÀÌ¸ç ´ÙÀ½ Ç÷¡±×µéÀÇ Á¶ÇÕÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. °¢ Ç÷¡±×ÀÇ È¿°ú¿¡ ´ëÇؼ­´Â ´Ù½Ã °³º°ÀûÀ¸·Î ½Ç½ÀÀ» ÇÒ ¿¹Á¤À̹ǷΠ´ëÃæ Àǹ̸¸ ºÁ µÎµµ·Ï ÇÏÀÚ.

 

Ç÷¡±×

¼³¸í

TTF_ABSOLUTE

TTF_TRACK Ç÷¡±×¿Í ÇÔ²² »ç¿ëÇϸç Á¤È®ÇÑ À§Ä¡¿¡ ÅøÆÁÀÌ ³ªÅ¸³ªµµ·Ï ÇÑ´Ù.

TTF_CENTERTIP

ÅøÆÁÀÌ ÅøÀÇ ¾Æ·¡ÂÊ Áß¾Ó¿¡ ³ªÅ¸³ªµµ·Ï ÇÑ´Ù. ÀÌ Ç÷¡±×°¡ ¾øÀ¸¸é Ä¿¼­ À§Ä¡¿¡ ³ªÅ¸³­´Ù.

TTF_IDISHWND

µî·ÏµÇ´Â ÅøÀÌ À©µµ¿ì¶ó´Â ¶æÀ̸ç uId ¸â¹ö´Â À©µµ¿ì Çڵ鰪À» °¡Áø´Ù. ÀÌ Ç÷¡±×°¡ ¾øÀ¸¸é ÅøÀº »ç°¢ ¿µ¿ªÀ̸ç uId´Â ÅøÀÇ IDÀÌ´Ù.

TTF_PARSELINKS

Åø ÅؽºÆ®ÀÇ ¸µÅ©¸¦ Çؼ®Çϵµ·Ï ÇÑ´Ù.

TTF_RTLREADING

¿À¸¥ÂÊ¿¡¼­ ¿ÞÂÊÀ¸·Î ÅؽºÆ®¸¦ Ãâ·ÂÇÑ´Ù. ÇÑ±Û À©µµ¿ìÁî¿¡¼­´Â ÇØ´çµÇÁö ¾Ê´Â´Ù.

TTF_SUBCLASS

ÅøÆÁ ÄÁÆ®·ÑÀÌ ÅøÀ» ¼­ºê Ŭ·¡½ÌÇϵµ·Ï ÇÑ´Ù.

TTF_TRACK

ÅøÆÁÀÇ À§Ä¡¸¦ TTM_TRACKPOSITION ¸Þ½ÃÁö¿¡¼­ ÁöÁ¤ÇÑ ´ë·Î À̵¿½ÃŲ´Ù.

TTF_TRANSPARENT

¸¶¿ì½º ¸Þ½ÃÁö¸¦ ºÎ¸ð À©µµ¿ì¿¡°Ô Àü´ÞÇÑ´Ù. Åõ¸íÇÏ°Ô º¸ÀÌ´Â °ÍÀº ¾Æ´Ï´Ù.

hwnd

ÅøÀÇ ºÎ¸ð À©µµ¿ì ÇÚµéÀ̸ç ÀÌ À©µµ¿ì·Î ÅøÆÁ ÄÁÆ®·ÑÀÇ ÅëÁö ¸Þ½ÃÁö°¡ Àü´ÞµÈ´Ù. ÅøÀ» ¼ÒÀ¯ÇÏ°í ÀÖ´Â À©µµ¿ìÀÇ ÇÚµéÀÌÁö ÅøÆÁ ÄÁÆ®·ÑÀÇ ºÎ¸ð À©µµ¿ì³ª ÅøÀÇ À©µµ¿ì ÇÚµéÀÌ ¾Æ´ÔÀ» ÁÖÀÇÇÏÀÚ.

uId

ÅøÀÇ °íÀ¯ ¹øÈ£¿¡ ÇØ´çÇÏ´Â IDÀÌ´Ù. ÅøÀÌ À©µµ¿ìÀ̸é, Áï uFlags¿¡ TTF_IDISHWND Ç÷¡±×°¡ ÀÖÀ¸¸é ÀÌ °ªÀº ÅøÀÇ À©µµ¿ì ÇÚµéÀÌ µÇ¸ç »ç°¢ ¿µ¿ªÀ̸é, Áï uFlags¿¡ TTF_IDISHWND Ç÷¡±×°¡ ¾øÀ¸¸é ÀÌ °ªÀº 0ºÎÅÍ ½ÃÀ۵Ǵ ÅøÀÇ ÀÏ·Ã ¹øÈ£ÀÌ´Ù. °íÀ¯ÇÑ °ªÀ» °¡Á®¾ß ÇϹǷΠÅø³¢¸® Áߺ¹µÇ¾î¼­´Â ¾ÈµÈ´Ù.

rect

ÅøÀÇ »ç°¢ ¿µ¿ªÀ» ÁöÁ¤ÇÑ´Ù. À©µµ¿ì ÅøÀÎ °æ¿ì ÇÚµé·ÎºÎÅÍ ¿µ¿ªÀ» ±¸ÇÒ ¼ö ÀÖÀ¸¹Ç·Î ÀÌ ¸â¹ö´Â ¹«½ÃµÈ´Ù. ÁÂÇ¥°ªÀº ºÎ¸ð À©µµ¿ìÀÇ ÀÛ¾÷ ¿µ¿ª ±âÁØÀÌ´Ù.

hinst

¹®ÀÚ¿­ ¸®¼Ò½º¸¦ °¡Áø ÀνºÅϽº ÇÚµéÀÌ´Ù. ¹®ÀÚ¿­ ¸®¼Ò½º¸¦ ¾²Áö ¾ÊÀ» °æ¿ì ÀÌ ¸â¹ö´Â ¹«½ÃµÈ´Ù.

lpszText

Åø ÅؽºÆ® ¹®ÀÚ¿­ÀÌ´Ù. ¼¼°¡Áö ÇüÅ·ΠÁöÁ¤ÇÒ ¼ö Àִµ¥ °£´ÜÇÏ°Ô ¹®ÀÚ¿­ »ó¼ö¸¦ ÁÙ ¼ö ÀÖÀ¸¸ç ¹®ÀÚ¿­ ¸®¼Ò½ºÀÇ ID¸¦ ÁÙ ¼öµµ ÀÖ´Ù. LPSTR_TEXTCALLBACK °ªÀ» ÁÖ¸é ºÎ¸ð À©µµ¿ì¿¡°Ô TTN_GETDISPINFO ÅëÁö ¸Þ½ÃÁö¸¦ º¸³» ½ÇÇàÁß¿¡ ¹®ÀÚ¿­À» ±¸ÇÑ´Ù. Åø ÅؽºÆ®¸¦ ±¸ÇÒ ¶§ ÀÌ ¸â¹ö´Â ÃæºÐÇÑ ±æÀÌÀÇ ¹öÆÛ¸¦ °¡¸®Å°°í ÀÖ¾î¾ß ÇÑ´Ù.

lParam

»ç¿ëÀÚ Á¤ÀÇ µ¥ÀÌÅÍÀÌ´Ù.

 

cbSize, hwnd, lpszText ¸â¹ö´Â ÅøÀ» µî·ÏÇÒ ¶§ Ç×»ó Àü´ÞÇØ ÁÖ¾î¾ß ÇÑ´Ù. ³ª¸ÓÁö ¸â¹ö´Â ÅøÀÇ Á¾·ù¿¡ µû¶ó ¼±ÅÃÀûÀ¸·Î Àü´ÞÇÒ ¼ö ÀÖÀ¸¸ç Àǹ̵µ ¾à°£ ´Þ¶óÁø´Ù.

 

¸â¹ö

À©µµ¿ì Åø

»ç°¢¿µ¿ª Åø

uFlags

TTF_IDISHWND Æ÷ÇÔ

TTF_IDISHWND ¹ÌÆ÷ÇÔ

hId

ÅøÀÇ À©µµ¿ì ÇÚµé

0ºÎÅÍ ½ÃÀÛÇÏ´Â ÅøÀÇ °íÀ¯ ¹øÈ£

rect

¹«½Ã

»ç°¢ ¿µ¿ª ÁÂÇ¥

 

ÅøÆÁÀÇ »ý¼º°ú Åø µî·Ï¿¡ ÇÊ¿äÇÑ ±¸Á¶Ã¼±îÁö ¾Ë¾Æ ºÃÀ¸¹Ç·Î ´õ º¹ÀâÇØÁö±â Àü¿¡ °£´ÜÇÑ ¿¹Á¦¸¦ Çϳª ¸¸µé¾î º¸µµ·Ï ÇÏÀÚ.

 

#include <commctrl.h>

HWND hTip, hBtn;

LRESULT CALLBACK WndProc(HWND hWnd,UINT iMessage,WPARAM wParam,LPARAM lParam)

{

HDC hdc;

PAINTSTRUCT ps;

INITCOMMONCONTROLSEX iccex;

RECT rt={300,50,500,150};

TOOLINFO ti;

 

switch(iMessage) {

case WM_CREATE:

    iccex.dwICC=ICC_WIN95_CLASSES;

    iccex.dwSize=sizeof(INITCOMMONCONTROLSEX);

    InitCommonControlsEx(&iccex);

 

    hTip=CreateWindowEx(WS_EX_TOPMOST,TOOLTIPS_CLASS,NULL,0,

       CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,

       hWnd,NULL,g_hInst,NULL);

 

    hBtn=CreateWindow("button","¹öÆ°",WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON,

       50,50,200,100,hWnd,(HMENU)0,g_hInst,NULL);

 

    ti.cbSize=sizeof(TOOLINFO);

    ti.uFlags=TTF_SUBCLASS | TTF_IDISHWND;

    ti.hwnd=hWnd;

    ti.uId=(WPARAM)hBtn;

    ti.lpszText="¹öÆ°ÀÔ´Ï´Ù";

    SendMessage(hTip,TTM_ADDTOOL,0,(LPARAM)(LPTOOLINFO)&ti);

 

    ti.uFlags=TTF_SUBCLASS;

    ti.hwnd=hWnd;

    ti.uId=0;

    ti.lpszText="»ç°¢¿µ¿ªÀÔ´Ï´Ù";

    ti.rect=rt;

    SendMessage(hTip,TTM_ADDTOOL,0,(LPARAM)(LPTOOLINFO)&ti);

    return 0;

case WM_PAINT:

    hdc=BeginPaint(hWnd, &ps);

    Rectangle(hdc,rt.left,rt.top,rt.right,rt.bottom);

    EndPaint(hWnd, &ps);

    return 0;

case WM_LBUTTONDOWN:

    SendMessage(hTip,TTM_ACTIVATE,(WPARAM)TRUE,0);

    return 0;

case WM_RBUTTONDOWN:

    SendMessage(hTip,TTM_ACTIVATE,(WPARAM)FALSE,0);

    return 0;

case WM_DESTROY:

    PostQuitMessage(0);

    return 0;

}

return(DefWindowProc(hWnd,iMessage,wParam,lParam));

}

 

¹öÆ° ÄÁÆ®·Ñ Çϳª¿Í »ç°¢ ¿µ¿ª Çϳª¸¦ ¸¸µé°í µÎ ´ë»ó¿¡ ´ëÇØ ÅøÆÁÀ» ´Þ¾Æ º¸¾Ò´Ù. »ç°¢ ¿µ¿ªÀº ±»ÀÌ °æ°è¼±ÀÌ ÀÖ¾î¾ß ÇÒ ÇÊ¿ä°¡ ¾øÁö¸¸ ºÐ¸íÇÑ È®ÀÎÀ» À§ÇØ WM_PAINT¿¡¼­ »ç°¢ÇüÀ» ±×·Á ÁÖ¾ú´Ù. ½ÇÇàÇÑ ÈÄ ¸¶¿ì½º Ä¿¼­¸¦ ¹öÆ°À̳ª »ç°¢ ¿µ¿ª¿¡ °¡Á® °¡¸é ÅøÆÁÀÌ ³ªÅ¸³­´Ù.

¸ðµç 󸮴 WM_CREATE¿¡¼­ ´Ù ÇÏ°í Àִµ¥ Äڵ带 ºÐ¼®ÇØ º¸ÀÚ. °øÅë ÄÁÆ®·ÑÀ» »ç¿ëÇÏ·Á¸é commctrl.h¸¦ Æ÷ÇÔÇÏ°í InitCommonControls(Ex) ÇÔ¼ö·Î °øÅë ÄÁÆ®·Ñ ¶óÀ̺귯¸®¸¦ ÃʱâÈ­ÇØ¾ß Çϸç comctl32.libµµ ¸µÅ©½ÃÄÑ ÁÖ¾î¾ß ÇÑ´Ù. ¶óÀ̺귯¸® ÃʱâÈ­ ÈÄ ÅøÆÁ ÄÁÆ®·ÑÀ» »ý¼ºÇÏ¿´´Ù. WS_EX_TOPMOST È®Àå ½ºÅ¸ÀÏÀ» ÁÖ¾úÀ¸¸ç À©µµ¿ì ½ºÅ¸ÀÏÀº Ưº°È÷ ÁÙ °ÍÀÌ ¾øÀ¸¹Ç·Î 0À¸·Î ÁöÁ¤Çß´Ù. ½ºÅ¸ÀÏÀ» ÁÖÁö ¾Ê¾Æµµ WS_POPUP, WS_EX_TOOLWINDOW ½ºÅ¸ÀÏÀº µðÆúÆ®·Î Àû¿ëµÈ´Ù.

ÅøÆÁ ÄÁÆ®·Ñ »ý¼º ÈÄ ÅøÆÁ ´ë»óÀÎ ¹öÆ° ÄÁÆ®·ÑÀ» Àû´çÇÑ À§Ä¡¿¡ »ý¼ºÇßÀ¸¸ç ¹öÆ°°ú »ç°¢ ¿µ¿ª¿¡ ´ëÇØ µÎ °³ÀÇ ÅøÀ» µî·ÏÇÑ´Ù. ¹öÆ°Àº À©µµ¿ìÀ̹ǷΠuFlags¿¡ TTF_IDISHWND Ç÷¡±×¸¦ ÁÖ¾úÀ¸¸ç uId¿¡ ¹öÆ°ÀÇ À©µµ¿ì ÇÚµéÀÎ hBtnÀ» ´ëÀÔÇØ ÁØ´Ù. TTF_SUBCLASS¶ó´Â Ç÷¡±×µµ ÁöÁ¤Çߴµ¥ ÀÌ Ç÷¡±×ÀÇ Àǹ̴ ´Ù¼Ò º¹ÀâÇϹǷΠ´ÙÀ½ Ç׿¡¼­ µû·Î ÀÚ¼¼È÷ ¾Ë¾Æº¼ °ÍÀÌ´Ù.

¹öÆ° ÅøÀ» µî·ÏÇÑ ÈÄ °ðÀÌ¾î »ç°¢ ¿µ¿ªÀ» µî·ÏÇÑ´Ù. À©µµ¿ì°¡ ¾Æ´Ï¹Ç·Î TTF_IDISHWND Ç÷¡±×´Â ÁÙ ÇÊ¿ä°¡ ¾ø°í ´ë½Å rect ¸â¹ö¿¡ »ç°¢ ¿µ¿ªÀÇ ÁÂÇ¥¸¦ Àü´ÞÇØ ÁÖ¾î¾ß ÇÑ´Ù. uId¿¡´Â »ç°¢ ¿µ¿ªÀÇ °íÀ¯ ¹øÈ£¸¦ Áִµ¥ ¸¸¾à »ç°¢ ¿µ¿ªÀ» ´õ µî·ÏÇÑ´Ù¸é °è¼ÓÇؼ­ 1,2,3 À¸·Î Áõ°¡ÇÏ´Â °íÀ¯ ¹øÈ£¸¦ ÁÖ¸é µÈ´Ù.

ÀÌ·¸°Ô µÎ °³ÀÇ ÅøÀ» µî·ÏÇØ ³õÀ¸¸é ³ª¸ÓÁö 󸮴 ÅøÆÁ ÄÁÆ®·ÑÀÌ ¾Ë¾Æ¼­ ÇÑ´Ù. ÅøÆÁ ÄÁÆ®·ÑÀº ÅøÀÇ ÁÂÇ¥¿Í À©µµ¿ì Çڵ鿡 ´ëÇÑ Á¤º¸¸¦ °¡Áö°í ÀÖÀ¸¹Ç·Î ¾î´À À§Ä¡¿¡¼­ ÅøÆÁÀ» Ãâ·ÂÇØ¾ß ÇÒÁö¸¦ °è»êÇÒ ¼ö ÀÖ´Ù. Ç×»ó ¸¶¿ì½º À§Ä¡¸¦ °¨½ÃÇÏ°í ÀÖ´Ù°¡ µî·ÏµÈ Åø À§¿¡¼­ ÀÏÁ¤½Ã°£ ¸Ó¹«¸£¸é Áï½Ã Åø ÅؽºÆ®¸¦ º¸¿©ÁÙ °ÍÀÌ´Ù.

¾ÆÁÖ °£´ÜÇÑ ÅøÆÁ ¿¹Á¦¸¦ ¸¸µé¾î ºÃ´Âµ¥ ÀÌ ¿¹Á¦¸¦ ÅëÇØ ÅøÆÁÀÇ »ý¼º ¹æ¹ý°ú Åø µî·Ï ¹æ¹ý, ±×¸®°í ¹«¾ùº¸´Ù TOOLINFO ±¸Á¶Ã¼¿¡ Àͼ÷ÇØÁöµµ·Ï ÇÏÀÚ. ÅøÀ» »èÁ¦ÇÒ ¶§´Â TTM_DELTOOL ¸Þ½ÃÁö¸¦ »ç¿ëÇϸç ÅøÀÇ È°¼ºÈ­ ¿©ºÎ¸¦ ½ÇÇàÁß¿¡ º¯°æÇÏ°í ½ÍÀ» ¶§´Â TTM_ACTIVATE ¸Þ½ÃÁö¸¦ »ç¿ëÇÑ´Ù. ¿¹Á¦¿¡¼­ ¸¶¿ì½º ¿ÞÂÊ, ¿À¸¥ÂÊ ¹öÆ°¿¡ ÀÌ ¸Þ½ÃÁö¸¦ È£ÃâÇÏ´Â Äڵ带 ³Ö¾î ÅøÆÁ ±â´ÉÀ» ½ÇÇàÁß¿¡ È°¼º/ºñÈ°¼ºÈ­½Ãų ¼ö ÀÖµµ·Ï ÇØ ³õ¾Ò´Ù.