Histogram Control

 À§ÀÇ ±×¸²Àº Áö±ÝºÎÅÍ ¼Ò°³ÇÒ È÷½ºÅä±×·¥À» ½ÇÇàÇÑ °ÍÀÌ´Ù. ÀÌ ÄÚµå´Â codeproject (http://www.codeproject.com)¿¡¼­ °¡Á®¿Â ³»¿ëÀ» Á¶±Ý Á¤¸®ÇÑ °ÍÀÌ´Ù.

 ³»¿ëÀÌ¾ß ¹¹ º¸´Â ±×´ë·ÎÀ̰í, Ç×»ó ±×·¯ÇÏµí ¸¸µå´Â ¹æ¹ýÀ» ¼³¸íÇØ º¸ÀÚ. ÀÌ ÄÁÆ®·ÑÀº static text ÄÁÆ®·Ñ¿¡¼­ ÆÄ»ýµÇ¾î ³ª¿Â °ÍÀÌ´Ù.

 ´ÙÀ̾ó·Î±× º£À̽º·Î ÇØµµ »ó°ü¾ø°ÚÁö¸¸ ¿©±â¼­´Â SDIÀÇ ºä¿¡¼­ ¸¶¿ì½º ¿ÞÂÊ ¹öưÀ» ´õºíŬ¸¯Çϸé À§ÀÇ ±×¸²°ú °°Àº ´ÙÀ̾ó·Î±× ¹Ú½º°¡ Çϳª ³ª¿Àµµ·Ï ¸¸µé °ÍÀÌ´Ù.

¼Ò½º ÆÄÀÏ ¹Þ±â      ¿¹Á¦ ÇÁ·ÎÁ§Æ® ¹Þ±â

1. SDI ÇÁ·ÎÁ§Æ®¸¦ Çϳª ¸¸µç´Ù. ¿©±â¼­´Â Histo ¶ó°í ÇÁ·ÎÁ§Æ®¸íÀ» Áö¾ú´Ù.
     ¼Ò½ºÆÄÀÏÀ» ¹Þ¾Æ¼­ ÇÁ·ÎÁ§Æ®¿¡ Ãß°¡ÇÑ´Ù.

2. ¸®¼Ò½º¿¡ ´ÙÀ̾ó·Î±× ÅÛÇø´À» Çϳª Ãß°¡ÇÑ´Ù. ID´Â IDD_HISTOGRAM À̶ó ÇÑ´Ù.

3. À§ÀÇ ±×¸²Ã³·³ ÄÁÆ®·ÑµéÀ» ¹èÄ¡ÇÑ´Ù. ¿©±â¼­ IDC_HISTOGRAMÀº static text ÄÁÆ®·ÑÀÌ´Ù. ¶óµð¿À ¹öưÀ» ¹èÄ¡ÇÒ ¶§ group ¼Ó¼ºÀ» Á¦´ë·Î ÁöÁ¤ÇÏ´Â °É ÀØÁö ¸» °Í. Âü°í·Î À̾߱âÇÏÀÚ¸é ¶óµð¿À ¹öưÀ» ¹èÄ¡ÇÒ ¶§ °°Àº ±×·ìÀ¸·Î ÀνĵǷÁ¸é Ctrl-D ¸¦ ´­·¶À» ¶§ ³ª¿À´Â order »Ó¸¸ ¾Æ´Ï¶ó ¸®¼Ò½º °ªµµ ¼ø¼­´ë·Î µÇ¾î ÀÖ¾î¾ß Çϰí, ±×·ì³»ÀÇ °¡Àå ¼±µÎÀÇ ¶óµð¿À ¹Ú½º ÄÁÆ®·Ñ¸¸ group ¼Ó¼ºÀ» üũÇÑ´Ù.

4. ÀÌ ´ÙÀ̾ó·Î±× ¹Ú½º¿¡ ¿¬°áµÇ´Â Ŭ·¡½º¸¦ ¸¸µç´Ù. ±×³É ´ÙÀ̾ó·Î±× ÅÛÇø´ À§¿¡¼­ ´õºíŬ¸¯ÇÏ¸é µÈ´Ù. Ŭ·¡½º À̸§Àº CHistogramDlg ¶ó°í Áö¾ú´Ù.

5. ÀÌ Å¬·¡½º¿¡¼­ Ŭ·¡½º À§Àúµå¸¦ »ç¿ëÇØ¼­ ´ÙÀ½°ú °°ÀÌ º¯¼öµéÀ» ¿¬°áÇÑ´Ù. ¿©±â¼­ CAlexfStaticHistogramÀº ¹Ù·Î ³ª¿ÀÁö ¾ÊÀ¸¹Ç·Î ¿ì¼± CStatic À¸·Î ¿¬°áÇÑ ÈÄ Çì´õÆÄÀÏÀ» ¿­¾î Á÷Á¢ °íÄ¡¸é µÈ´Ù. m_bMotionÀº È÷½ºÅä±×·¥ÀÌ ½ÃÀ۵Ǵ À§Ä¡¸¦ ¿ÞÂÊ ¶Ç´Â ¿À¸¥ÂÊÀ¸·Î Á¤ÇÏ´Â º¯¼öÀ̰í, m_bText´Â È­¸é¿¡ ³ªÅ¸³ª´Â ÅØ½ºÆ®ÀÇ À§Ä¡¸¦ ¿ÞÂÊ ¶Ç´Â ¿À¸¥ÂÊÀ¸·Î Á¤ÇÏ´Â º¯¼öÀÌ´Ù.

IDC_HISTOGRAM                     CAlexfStaticHistogram              m_Histogram
IDC_RADIO_MOTION_LEFT       int                                           m_bMotion
IDC_RADIO_TEXT_LEFT           int                                           m_bText

6. ŸÀ̸ӿ¡ »ç¿ëÇÒ º¯¼ö¸¦ ´ÙÀ½Ã³·³ Çϳª ÁöÁ¤ÇÑ´Ù. ÀÌ º¯¼ö´Â ŸÀ̸Ӱ¡ »ì¾ÆÀÖ´ÂÁö È®ÀÎÇϴµ¥ »ç¿ëµÈ´Ù.

public:
        BOOL m_bTimerLive;

7. HistogramDlg.cpp ÆÄÀÏÀ» ¿­¾î »ý¼ºÀÚ¸¦ ´ÙÀ½°ú °°ÀÌ °íÄ£´Ù. óÀ½¿¡ m_bMotion°ú m_bText´Â -1ÀÌ ´ëÀԵǵµ·Ï µÇ¾îÀÖÀ» °ÍÀÌ´Ù.

 

8. WM_INITDIALOG ¸Þ½ÃÁöÀÇ Çڵ鷯¸¦ ÀÛ¼ºÇÑ´Ù. ¾Æ·¡ÀÇ Äڵ忡¼­ º¸µí ÅØ½ºÆ® ÆøÀº 30, ÁÙ ¼ö´Â 10 ÀÌ´Ù. ±×¸®°í ¸¶Áö¸· ÁÙÀ» º¸¸é óÀ½¿¡ 50ÀÇ °ªÀ¸·Î È÷½ºÅä±×·¥ ÇÑ ÁÙÀ» ±×¸®µµ·Ï µÇ¾îÀÖ´Ù.

9. ´ÙÀ½°ú °°ÀÌ °¢ ÄÁÆ®·ÑµéÀÇ Çڵ鷯¸¦ ÀÛ¼ºÇÑ´Ù.

 

10. ´ÙÀ½°ú °°ÀÌ Å¸À̸ӿ¡ °ü°èµÈ ¹öưÀÇ Çڵ鷯¸¦ ±¸ÇöÇÑ´Ù. ¿©±â¼­´Â 0.1 ÃÊ °£°ÝÀ¸·Î ŸÀ̸Ӱ¡ È£ÃâµÇµµ·Ï ÇÏ¿´´Âµ¥, ¾Ë´Ù½ÃÇÇ Å¸À̸ÓÀÇ À¯È¿ Ãּҽ𣰣°ÝÀº 1/18.2 = 0.055 ÃÊ °¡·®µÈ´Ù. ÀÌ´Â 1ÃÊ¿¡ 18.2¹øÀÇ Å¬·°ÀÌ °É¸®±â ¶§¹®Àε¥, ¸¸¾à À̺¸´Ù ´õ »¡¸® ½Ã°£°£°ÝÀ» Á¤ÇÏ°í ½Í´Ù¸é for¹®À̳ª while¹® °°Àº ¼øÈ¯¹®À» »ç¿ëÇÏ¸é µÈ´Ù. ±×·² °æ¿ì ºüÁ®³ª¿À´Â Á¶°ÇÀ» ÁÖ±âÀ§Çؼ­ ´ÙÁß ¾²·¹µå¸¦ ÀÌ¿ëÇϰųª ¸Þ½ÃÁö ÆßÇÁ¸¦ »ç¿ëÇÏ¸é µÈ´Ù.(¸Þ½ÃÁö ÆßÇÁ¿¡ °üÇÑ ³»¿ëÀº Ȩ ³»¿ë ÂüÁ¶)

11. ¸¶Áö¸·À¸·Î HistogramDlg.h ÆÄÀÏ¿¡ ´ÙÀ½Ã³·³ ¼Ò½ºÆÄÀÏÀ» ÀÎŬ·çµåÇÑ´Ù.

12. ¾Õ¿¡¼­ ¸»Çß´Ù½ÃÇÇ ºä¿¡¼­ ¸¶¿ì½º ¿ÞÂÊ ¹öưÀ» ´õºíŬ¸¯ÇÏ¸é ´ÙÀ̾ó·Î±× ¹Ú½º°¡ ¶ßµµ·Ï ¸¸µç´Ù.

´ÙÀ½°ú °°ÀÌ Çì´õÆÄÀÏÀ» ºä¿¡ ÀÎŬ·çµåÇϰí

´ÙÀ½Ã³·³ Çڵ鷯¸¦ ÀÛ¼ºÇÑ´Ù.