CStatic ClassÀÇ È®Àå  
ºñÁÖ¾ó º£ÀÌÁ÷ÀÇ label control°ú ºñ½ÁÇÑ CLabel Class

ºñÁÖ¾ó º£ÀÌÁ÷À̳ª µ¨ÆÄÀ̸¦ º¸¸é Label ÄÄÆ÷³ÍÆ®°¡ ÀÖ´Ù. ¿©±â¼­ ¼Ò°³ÇÏ´Â CLabel Classµµ ±×°Í°ú ºñ½ÁÇÑ ±â´ÉÀ» ÇÑ´Ù.
 CLabel Class´Â CStatic Class¸¦ »ó¼Ó¹Þ¾Æ ¸¸µé¾îÁø °ÍÀ¸·Î Bold, Italic, UnderlineµîÀÇ ÇüÅ´ ¹°·Ð ÀÎÅÍ³Ý linkÀÇ ÇüÅ·εµ ½±°Ô ³ªÅ¸³¾ ¼ö ÀÖ´Ù.

»ç¿ë¹ýÀº ´ÙÀ½°ú °°´Ù.

1. ÀϹÝÀûÀÎ ¹æ¹ýÀ¸·Î ´ÙÀ̾ó·Î±× ¹Ú½º¸¦ ¸¸µç´Ù.

2. Ŭ·¡½º À§Àúµå¸¦ »ç¿ëÇØ¼­ OnInitDialog ÇÔ¼ö¸¦ ¿À¹ö¶óÀ̵ùÇÑ´Ù. WM_INITDIALOG ¸Þ½ÃÁö¸¦ ¼±ÅÃÇÏ¸é µÇ°ÚÁÒ?

3. Label.cpp¿Í Label.h ÆÄÀÏÀ» ÇÁ·ÎÁ§Æ®¿¡ Æ÷ÇÔ½ÃŲ´Ù. ÀÌ ÄÚµå´Â ¿©±â¸¦ ´­·¯ ´Ù¿î¹Þ¾Æ¿ä. 

4. #include "label.h"  -> ´ÙÀ̾ó·Î±× ¹Ú½ºÀÇ cppÆÄÀÏ¿¡ includeÇÑ´Ù.

5. ¹®ÀÚ¿­À» Ç¥½ÃÇϰíÀÚ ÇÏ´Â static controlÀ» ´ÙÀ̾ó·Î±×¿¡ À§Ä¡½ÃŲ´Ù. À̶§ ÄÁÆ®·ÑÀÇ ID´Â IDC_STATICÀÌ ¾Æ´Ï¶ó ´Ù¸¥ °É·ç ¹Ù²Ù¾î¾ß ÇÑ´Ù.

6. Ŭ·¡½º À§ÀúµåÀÇ Member Variables ÅÇ¿¡¼­ 5¹ø¿¡¼­ ¸¸µç static controlÀ» ¿¬°á½ÃŲ´Ù.
  Category´Â Control·Î Çϰí, Variable type´Â CStaticÀ¸·Î ÇÑ´Ù.

7. ´ÙÀ̾ó·Î±× Ŭ·¡½ºÀÇ Çì´õÆÄÀÏ¿¡ #include "Label.h"À» Æ÷ÇÔ½Ã۰í, ¹æ±Ý Ŭ·¡½º À§Àúµå·Î ¿¬°áÇÑ º¯¼ö¸¦ CStatic¿¡¼­ CLabel·Î ¹Ù²Û´Ù. À§Ä¡´Â »ý¼ºÀÚ ¼±¾ðÇÑ ¹Ù·Î ´ÙÀ½ÀÔ´Ï´Ù.

8. ´ÙÀ½Àº OnInitDialog() ÇÔ¼ö¿¡ Ç¥½ÃÇϰíÀÚ ÇÏ´Â ¹®ÀÚ¿­ÀÇ ¼Ó¼ºÀ» Á¤ÇÑ´Ù.
  ´ÙÀ½ÀÇ ÄÚµå´Â À§ ±×¸²¿¡¼­ º¸ÀÎ ¿¹Á¦¸¦ ³ªÅ¸³»´Â ÄÚµåÀÌ´Ù. ¸â¹öÇÔ¼ö¸¦ ÇѲ¨¹ø¿¡ ÀûÀ» ¶§ ¸¶Áö¸· ¸â¹öÇÔ¼ö¿¡¸¸ ¼¼¹ÌÄÝ·ÐÀÌ µé¾î°£´Ù´Â °Í¿¡ ÁÖÀÇ.

BOOL CLabelDlg::OnInitDialog()
{
        CDialog::OnInitDialog();
        
        // TODO: Add extra initialization here
        m_font_sample
                .SetBkColor( RGB(0,255,0) )
                .SetText("Sample Text")
                .SetTextColor( RGB(0,0,255) )
                .SetFontBold(TRUE)
                .SetFontName("Book Antiqua")
                .SetFontUnderline(TRUE)
                .SetFontItalic(TRUE)
                .SetFontSize(30)
                .SetSunken(TRUE)
                .SetBorder(TRUE)
                .FlashText(TRUE)
                .FlashBackground(TRUE);
        
        m_font_link.SetLink(TRUE)
                .SetTextColor(RGB(0,0,255))
                .SetFontUnderline(TRUE)
                .SetLinkCursor(AfxGetApp()->LoadStandardCursor(IDC_CROSS));     

        return TRUE;  // return TRUE unless you set the focus to a control
                      // EXCEPTION: OCX Property Pages should return FALSE
}

9. ´ÙÀ½ÀÇ CLabel ClassÀÇ ¸â¹öÇÔ¼öµéÀÌ´Ù.

API of CLabel

CLabel& SetBkColor(COLORREF crBkgnd)     : ¹è°æ»öÀ» ¼±ÅÃ
CLabel& SetText(const CString& strText)      : Ç¥½ÃÇÒ ÄÁÆ®·ÑÀÇ ¹®ÀÚ¿­À» ¼±ÅÃ
CLabel& SetTextColor(COLORREF crText)     : ±ÛÀÚ»öÀ» ¼±ÅÃ
CLabel& SetFontBold(BOOL bBold)             : Bold ¼Ó¼ºÀ» Åä±Û  
CLabel& SetFontName(const CString& strFont) : ÆùÆ®Á¾·ù¸¦ ¼±ÅÃ
CLabel& SetFontUnderline(BOOL bSet)         : Underline ¼Ó¼ºÀ» Åä±Û
CLabel& SetFontItalic(BOOL bSet)             : Italic ¼Ó¼ºÀ» Åä±Û
CLabel& SetFontSize(int nSize)                 : ÆùƮũ±â¸¦ ¼±ÅÃ
CLabel& SetSunken(BOOL bSet)                : Sunken ¼Ó¼ºÀ» Åä±Û
CLabel& SetBorder(BOOL bSet)                : Border ¼Ó¼ºÀ» Åä±Û
CLabel& FlashText(BOOL bSet)                : ±ô¹ÚÀÌ´Â ±ÛÀÚ¼Ó¼ºÀ» Åä±Û
CLabel& FlashBackground(BOOL bSet)          : ±ô¹ÚÀÌ´Â ¹è°æ¼Ó¼ºÀ» Åä±Û
CLabel& SetLink(BOOL bLink)                  : Internet link¼Ó¼ºÀ» Åä±Û
CLabel& SetLinkCursor(HCURSOR hCursor)     : link¿¡ ¾²ÀÏ Ä¿¼­¸¦ ¼±ÅÃ

(note)
 SetText() ¸â¹öÇÔ¼ö·Î ³ªÅ¸³¾ ¹®ÀÚ¿­À» Á¤Çϸé ÄÁÆ®·ÑÀÇ Ä¸¼Ç¿¡ ÀÖ´Â ¹®ÀÚ¿­Àº ¹«½ÃµÈ´Ù.  
 ÀÌ ¸â¹öÇÔ¼ö¸¦ ¾²Áö¾ÊÀ¸¸é ĸ¼ÇÀÇ ¹®ÀÚ¿­ÀÌ Ç¥½ÃµÈ´Ù.
 Internet link ÇüÅ·Π¹®ÀÚ¿­À» ³ªÅ¸³»·Á¸é ´ç¿¬È÷ http://xxx.xxx.xxx ¿Í °°Àº ÇüÅÂÀÇ ¹®ÀÚ¿­ À̾î¾ß µÇ°ÚÁÒ.. link ¹®ÀÚ¿­ À§¿¡¼­ ¸¶¿ì½º Ä¿¼­¸¦ ¹Ù²Ü ¶§, Windows°¡ Á¦°øÇϴ ǥÁØÄ¿¼­¸¦ »ç¿ëÇÏ·Á¸é LoadStandardCursor()ÇÔ¼ö¸¦ ¾²°í, Ç¥ÁØ Ä¿¼­°¡ ¾Æ´Ñ °É ¾²·Á¸é LoadCursor() ÇÔ¼ö¸¦ »ç¿ëÇÕ´Ï´Ù. Âü°í·Î Windows°¡ Á¦°øÇϴ ǥÁØÄ¿¼­´Â ´ÙÀ½°ú °°½À´Ï´Ù.

 

IDC_ARROW

Ç¥ÁØ È­»ìÇ¥ Ä¿¼­

IDC_IBEAM

I ¸ð¾çÀÇ ¹®ÀÚ¿­ »ðÀÔ Ä¿¼­

IDC_WAIT

¸ð·¡ ½Ã°è Ä¿¼­

IDC_CROSS

½ÊÀÚ ¸ð¾ç Ä¿¼­

IDC_UPARROW

À§ÂÊ È­»ìÇ¥ Ä¿¼­

IDC_SIZE

À©µµ¿ìÀÇ Å©±â¸¦ Á¶Á¤ÇÒ ¶§ »ç¿ëÇÏ´Â Ä¿¼­

IDC_ICON

ÆÄÀÏÀ» µå·¡±×ÇÒ ¶§ »ç¿ëÇÏ´Â Ä¿¼­

IDC_SIZENWSE

Á»ó´Ü, ¿ìÇÏ´Ü È­»ìÇ¥ Ä¿¼­

IDC_SIZENESW

ÁÂÇÏ´Ü, ¿ì»ó´Ü È­»ìÇ¥ Ä¿¼­

IDC_SIZEWE

¼öÆò Å©±â Á¶Àý Ä¿¼­

IDC_SIZENS

¼öÁ÷ Å©±â Á¶Àý Ä¿¼­