ÇнÀ¸ñÇ¥    1

ÇнÀÁÖÁ¦    1

¿¹½À³»¿ë    1

½Ç½À¹æ¹ý    1

°ú    Á¦    1

Áß¿äÇÔ¼ö    1

½Ã°è ¸¸µé±â

ÇнÀ¸ñÇ¥

ŸÀ̸ÓÀÇ µ¿ÀÛÀ» ¾Ë¾Æº¸°í ±× È°¿ëÀ» ¾Ë¾Æ º»´Ù.

ÇнÀÁÖÁ¦

½Ã°£À» Ç¥½ÃÇÏ´Â µÎ°¡Áö ¹æ¹ýÀ» ¼Ò°³ ÇÏ°Ú½À´Ï´Ù.

ŸÀ̸Ӹ¦ 0.3ÃÊ °£°Ý ÁÖ±âÀûÀ¸·Î µ¿ÀÛ½ÃÄÑ ½Ã°£À» ÃøÁ¤ÇÏ¿© ÅؽºÆ®·Î Ãâ·Â½ÃŲ´Ù.

¹æ¹ý1. CTime Ŭ·¡½º¿Í ÇÔ¼ö¸¦ »ç¿ëÇÑ´Ù.

 

¿¹½À³»¿ë

´ÙÀ½ ÇÔ¼ö¿Í Ŭ·¡½º¸¦ ¾Ë¾Æ º»´Ù.

CTime

½Ç½À¹æ¹ý

¸ñ    Â÷

(1)   ÇÁ·ÎÁ§Æ®¸¸µé±â¿¡¼­ ¡°MFC ÀÀ¿ëÇÁ·Î±×·¥¡±->¡±´ëÈ­»óÀÚ±â¹Ý¡±À» ¼±ÅÃÇÏ°í À̸§À» ClockÀ¸·Î ÇÑ´Ù. ³ª¸ÓÁö´Â ±âº» ¼±ÅÃÀ¸·Î ÇÑ´Ù.

(2)   Ŭ·¡½º¿¡¼­ ¡°CClockDlg¡±¸¦ ¼±ÅÃÇÏ°í ¡°¸Þ½ÃÁö¡±->¡±WM_TIMER¡±,¸¦ ¼±ÅÃÇÏ¿© ¡°OnTimer¡± ÇÔ¼ö¸¦ ¸¸µç´Ù.

BOOL CClockDlg::OnInitDialog()¿¡ SetTimer(1,500,NULL);¸¦ Ãß°¡ÇÏ¿© ŸÀ̸Ӱ¡ 0.5Ãʸ¶´Ù µ¿ÀÛÇÏ°Ô ÇÑ´Ù.

 

BOOL CClockDlg::OnInitDialog()

{

        CDialog::OnInitDialog();

 

        // ½Ã½ºÅÛ¸Þ´º¿¡"Á¤º¸..." ¸Þ´ºÇ׸ñÀ»Ãß°¡ÇÕ´Ï´Ù.

 

        // IDM_ABOUTBOX´Â½Ã½ºÅÛ¸í·É¹üÀ§¿¡ÀÖ¾î¾ßÇÕ´Ï´Ù.

        ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);

        ASSERT(IDM_ABOUTBOX < 0xF000);

 

        CMenu* pSysMenu = GetSystemMenu(FALSE);

        if (pSysMenu != NULL)

        {

                BOOL bNameValid;

                CString strAboutMenu;

                bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);

                ASSERT(bNameValid);

                if (!strAboutMenu.IsEmpty())

                {

                        pSysMenu->AppendMenu(MF_SEPARATOR);

                        pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);

                }

        }

 

        // ÀÌ´ëÈ­»óÀÚÀǾÆÀÌÄÜÀ»¼³Á¤ÇÕ´Ï´Ù. ÀÀ¿ëÇÁ·Î±×·¥ÀÇÁÖâÀÌ´ëÈ­»óÀÚ°¡¾Æ´Ò°æ¿ì¿¡´Â

        //  ÇÁ·¹ÀÓ¿öÅ©°¡ÀÌÀÛ¾÷À»ÀÚµ¿À¸·Î¼öÇàÇÕ´Ï´Ù.

        SetIcon(m_hIcon, TRUE);                  // Å«¾ÆÀÌÄÜÀ»¼³Á¤ÇÕ´Ï´Ù.

        SetIcon(m_hIcon, FALSE);         // ÀÛÀº¾ÆÀÌÄÜÀ»¼³Á¤ÇÕ´Ï´Ù.

 

        // TODO: ¿©±â¿¡Ãß°¡ÃʱâÈ­ÀÛ¾÷À»Ãß°¡ÇÕ´Ï´Ù.

        SetTimer(1,500,NULL);

        return TRUE;  // Æ÷Ä¿½º¸¦ÄÁÆ®·Ñ¿¡¼³Á¤ÇÏÁö¾ÊÀ¸¸éTRUE¸¦¹ÝȯÇÕ´Ï´Ù.

}

 

(3)   Edit Box¸¦ ¸¸µç´Ù.

 

(5)   Edit BoxÀÇ ¸¶¿ì½º ¿À¸¥ÂÊ ¹öÆ°À» ´­·¯ ¡°º¯¼öÃß°¡¸¦ ¼±ÅÃÇÑ´Ù.

 

±×¸²°ú °°ÀÌ ¡°µµ±¸»óÀÚ¡±¿¡¼­ ¡°CWNumEdit Control¡±À» »ðÀÔ ÇÑ´Ù.

¡°Style¡±¿¡¼­ ¡°Àεð°ÔÀÌÅÍ¡±·Î ¹Ù²Ù°í ¡°Format¡±¿¡¼­ ¾Æ·¡ ±×¸²°ú °°ÀÌ ¡°Time¡±À» ¼±ÅÃÇÑ´Ù.

¾Æ·¡ ±×¸²°ú °°ÀÌ º¯¼ö¸¦ Ãß°¡ÇÑ´Ù. ÀÌ °ªÀÌ ¡°0¡±ÀÌ¸é ¡°1999³â12¿ù30ÀÏ¡±ÀÌ´Ù.

 

OnTimer() ÇÔ¼ö¿¡ ½Ã°£À» ¾ò°í Edit Box¿¡ Ãâ·ÂÇϱâ À§ÇÑ ÇÁ·Î±×·¥À» Ãß°¡ÇÑ´Ù.

 

void CClockDlg::OnTimer(UINT_PTR nIDEvent)

{

        // TODO: ¿©±â¿¡¸Þ½ÃÁö󸮱âÄڵ带Ãß°¡¹×/¶Ç´Â±âº»°ªÀ»È£ÃâÇÕ´Ï´Ù.

        CTime NowTime = CTime::GetCurrentTime(); //ÇöÀç½Ã°£ÃøÁ¤

        m_Clock.Format(_T("%d³â%d¿ù%dÀÏ%d½Ã%dºÐ%dÃÊ"),

                NowTime.GetYear(),NowTime.GetMonth(),NowTime.GetDay(),

                NowTime.GetHour(),NowTime.GetMinute(),NowTime.GetSecond());

        UpdateData(FALSE);

        m_ClockNum.Value = 1/24.*NowTime.GetHour()

                +1/24./60.*NowTime.GetMinute() +1/24./60./60.*NowTime.GetSecond();

        CDialog::OnTimer(nIDEvent);

}

 

 

 

°ú    Á¦

 

Áß¿äÇÔ¼ö