WM_MEASUREITEM

Àμö

wParam : ÀÌ ¸Þ½ÃÁö¸¦ º¸³½ ÄÁÆ®·ÑÀÇ ID°ªÀ̸ç ÀÌ´Â lParamÀ¸·Î Àü´ÞµÇ´Â MEASUREITEMSTRUCTÀÇ CtlID¿Í µ¿ÀÏÇÑ °ªÀÌ´Ù. ¸Þ´º Ç׸ñÀÇ °æ¿ì ÀÌ °ªÀº 0ÀÌ µÈ´Ù. ÀÌ °ªÀÌ 0ÀÌ ¾Æ´Ï°í itemID°¡ -1À̸é ÄÞº¸ ¹Ú½ºÀÇ ¿¡µðÆ® ÄÁÆ®·ÑÀÌ ¸Þ½ÃÁö¸¦ º¸³½ °ÍÀÌ´Ù.

lParam : ¿À³Ê µå·Î¿ì ÄÁÆ®·Ñ ¶Ç´Â ¸Þ´º Ç׸ñÀÇ ³ôÀ̸¦ µ¹·Á ¹Þ±â À§ÇÑ ´ÙÀ½ ±¸Á¶Ã¼ÀÇ Æ÷ÀÎÅÍ°¡ Àü´ÞµÈ´Ù.

typedef struct tagMEASUREITEMSTRUCT {
  UINT      CtlType; 
  UINT      CtlID; 
  UINT      itemID; 
  UINT      itemWidth; 
  UINT      itemHeight; 
  ULONG_PTR itemData; 
} MEASUREITEMSTRUCT; 

CtlType : ÄÁÆ®·ÑÀÇ Å¸ÀÔ°ª

°ª

¼³¸í

ODT_COMBOBOX

ÄÞº¸ ¹Ú½º

ODT_LISTBOX

¸®½ºÆ® ¹Ú½º

ODT_LISTVIEW

¸®½ºÆ® ºä ÄÁÆ®·Ñ

ODT_MENU

¸Þ´º Ç׸ñ

CtlID : ÄÁÆ®·ÑÀÇ IDÀÌ¸ç ¸Þ´º Ç׸ñÀº ÀÌ ¸â¹ö¸¦ »ç¿ëÇÏÁö ¾Ê´Â´Ù.

itemID : ¸Þ´º Ç׸ñÀÇ ID ¶Ç´Â ¸®½ºÆ® ¹Ú½º³ª ÄÞº¸ ¹Ú½ºÀÇ Ç׸ñ À妽ºÀÌ´Ù. ¸®½ºÆ® ¹Ú½º¿Í ÄÞº¸ ¹Ú½º°¡ °¡º¯ ³ôÀ̸¦ °¡Áú ¶§¸¸ ÀÌ °ªÀÌ Àü´ÞµÈ´Ù. °íÁ¤ ³ôÀ̸¦ °¡Áú ¶§´Â ¸ðµç Ç׸ñÀÇ ³ôÀÌ°¡ °°À¸¹Ç·Î Ç׸ñ À妽º¸¦ Àü´ÞÇØ ÁÙ ÇÊ¿ä°¡ ¾ø´Ù.

itemWidth : ¸Þ´º Ç׸ñÀÇ ÆøÀ» Çȼ¿ ´ÜÀ§·Î ¸®ÅÏÇÑ´Ù. ¿À³Ê µå·Î¿ì ¸Þ´º¸¦ °¡Áø À©µµ¿ì´Â ¹Ýµå½Ã ÀÌ ¸â¹ö¿¡ °ªÀ» ä¿ö ÁÖ¾î¾ß ÇÑ´Ù.

itemHeight : Ç׸ñÀÇ ³ôÀ̸¦ Çȼ¿ ´ÜÀ§·Î ¸®ÅÏÇÑ´Ù. ¿À³Ê µå·Î¿ì ¸Þ´º³ª ¸®½ºÆ® ¹Ú½º, ÄÞº¸ ¹Ú½º¸¦ °¡Áø À©µµ¿ì´Â ¹Ýµå½Ã ÀÌ ¸â¹ö¿¡ °ªÀ» ä¿ö ÁÖ¾î¾ß ÇÑ´Ù.

itemData : ¸Þ´º Ç׸ñ¿¡ ÀÀ¿ë ÇÁ·Î±×·¥ÀÌ Á¤ÀÇÇÑ Ç׸ñ µ¥ÀÌÅÍÀÌ´Ù. ¸®½ºÆ® ¹Ú½º, ÄÞº¸ ¹Ú½ºÀÇ °æ¿ì LB(CB) _SETITMEDATA ¸Þ½ÃÁö·Î Ç׸ñ¿¡ Ãß°¡ÇÑ Ç׸ñ µ¥ÀÌÅÍÀÌ´Ù. ¹öÆ°À̳ª ½ºÅà ÄÁÆ®·ÑÀº Ç׸ñ µ¥ÀÌÅ͸¦ °¡ÁöÁö ¾ÊÀ¸¹Ç·Î ÀÌ ¸â¹ö´Â Ç×»ó 0ÀÌ´Ù.

¼³¸í

¿À³Ê µå·Î¿ì ¸Þ´º³ª ¸®½ºÆ® ¹Ú½º, ÄÞº¸ ¹Ú½º, ¸®½ºÆ® ºä ÄÁÆ®·ÑÀ» °¡Áø À©µµ¿ì¿¡°Ô ÀÌ ¸Þ½ÃÁö°¡ Àü´ÞµÇ¸ç ¿À³Ê´Â ÀÌ ¸Þ½ÃÁö¿¡ ´ëÇØ Ç׸ñÀÇ Å©±â¸¦ ÀûÀýÇÏ°Ô ¸®ÅÏÇØ ÁÖ¾î¾ß ÇÑ´Ù. Ç׸ñÀ» ±×¸®±â À§Çؼ­´Â Ç׸ñÀÇ Å©±â°¡ ¸ÕÀú °áÁ¤µÇ¾î¾ß ÇϹǷΠÀÌ ¸Þ½ÃÁö´Â WM_DRAWITEM ¸Þ½ÃÁöº¸´Ù Ç×»ó ¸ÕÀú ¿À°Ô µÈ´Ù. ¿À³Ê µå·Î¿ì ¹öÆ°À̳ª ½ºÅÂƽÀº ±× Å©±â°¡ ÀÌ¹Ì Á¤ÇØÁ® Àֱ⠶§¹®¿¡ ÀÌ ¸Þ½ÃÁö°¡ ¿ÀÁö ¾Ê´Â´Ù.

°íÁ¤ ³ôÀ̸¦ °¡Áö´Â ¸®½ºÆ® ¹Ú½º³ª ÄÞº¸ ¹Ú½º(LBS_OWNERDRAWFIXED, CBS_OWNERDRAWFIXED½ºÅ¸ÀÏÀ» °¡Áø °æ¿ì)´Â ÀÌ ¸Þ½ÃÁö¸¦ Çѹø¸¸ º¸³½´Ù. ¸ðµç Ç׸ñÀÇ ³ôÀÌ°¡ °°±â ¶§¹®¿¡ Çѹø¸¸ ³ôÀ̸¦ °áÁ¤ÇØ ÁÖ¸é µÈ´Ù. À̶§ ÀÌ ¸Þ½ÃÁö´Â WM_INITDIALOGº¸´Ù ¸ÕÀú º¸³»Áö´Âµ¥ µû¶ó¼­ ½Ã½ºÅÛÀÌ ÄÁÆ®·Ñ¿¡ »ç¿ëÇÒ ÆùÆ®ÀÇ Å©±â¸¦ °áÁ¤Çϱâ ÀüÀÌ´Ù. ±×·¡¼­ ÀÌ ½ÃÁ¡¿¡¼­ ÆùÆ® Å©±â¸¦ ÂüÁ¶Çؼ­´Â ¾ÈµÈ´Ù.

°¡º¯ ³ôÀ̸¦ °¡Áö´Â °æ¿ì (LBS_OWNERDRAWVARIABLE, CBS_OWNERDRAWVARIABLE ½ºÅ¸ÀÏ)´Â °¢ Ç׸ñÀ» ±×¸± ¶§¸¶´Ù ÀÌ ¸Þ½ÃÁö¸¦ º¸³» Ç׸ñÀÇ ³ôÀ̸¦ ¹°¾î º»´Ù. ¿À³Ê´Â lParamÀÇ Á¤º¸¸¦ ÂüÁ¶ÇÏ¿© ÀÌ Ç׸ñÀÇ ³ôÀ̸¦ °áÁ¤ÇÏ¿© ¸®ÅÏÇØ ÁÖ¾î¾ß ÇÑ´Ù.

ÀÌ ¸Þ½ÃÁö¿¡¼­ °áÁ¤ÇÑ Ç׸ñÀÇ Å©±â´Â WM_DRAWITEMÀ¸·Î Àü´ÞµÇ¾î ÀÌ ¿µ¿ª ³»¿¡¼­¸¸ ±×¸®±â¸¦ Çϵµ·Ï ÇÑ´Ù.

¸®ÅÏ

ÀÌ ¸Þ½ÃÁö¸¦ ó¸®ÇßÀ¸¸é TRUE¸¦ ¸®ÅÏÇØ¾ß ÇÑ´Ù.

¿¹Á¦

WM_DRAWITEMÀÇ ¿¹Á¦ ÂüÁ¶

Ç÷§Æû

95ÀÌ»ó

ÂüÁ¶

 


written by http://www.winapi.co.kr