SDK½ºÅ¸ÀÏÀÇWindowsÇÁ·Î±×·¡¹Ö¿¡¼­´Â À©µµ¿ì Ŭ·¡½º¸íÀ̳ª ¹è°æ»ö Ä¿¼­ µîÀÇ ¼Ó¼ºÀ» ÁöÁ¤Çϱâ À§Çؼ­ WNDCLASSEX±¸Á¶Ã¼¸¦ Á¤ÀÇÇÏÁö¸¸ ATL¿¡´Â ±× ÀÛ¾÷À» ´Ü¼øÈ­ ÇÏ´Â ¸ÅÅ©·Î³ª ±¸Á¶Ã¼°¡ ÁغñµÇ¾î ÀÖ½À´Ï´Ù.



À©µµ¿ì Ŭ·¡½º¸í ¸ÅÅ©·Î

¡¡À©µµ¿ì Ŭ·¡½º¸íÀ» ÁöÁ¤Çϱâ À§ÇÑ ¸ÅÅ©·Î¸¦ ¾Æ·¡¿¡ ³ªÅ¸³À´Ï´Ù.

  • DECLARE_WND_CLASS(À©µµ¿ì Ŭ·¡½º¸í)
    À©µµ¿ì Ŭ·¡½º¸í¸¸À» Á¤ÀÇÇÕ´Ï´Ù.

 

  • DECLARE_WND_CLASS_EX(À©µµ¿ì Ŭ·¡½º¸í, ½ºÅ¸ÀÏ, ¹è°æ»ö)
    À©µµ¿ì Ŭ·¡½º¸í , ½ºÅ¸ÀÏ , ¹è°æ»öÀ» Á¤ÀÇÇÕ´Ï´Ù.


ÀÌ·¯ÇÑ ¸ÅÅ©·Î´Â public ¼±¾ðÀ¸·Î »ç¿ëÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. ÀÌ·¯ÇÑ ¸ÅÅ©·Î¸¦ »ç¿ëÇØ À©µµ¿ì Ŭ·¡½º¸íÀ» ¸í½ÃÀûÀ¸·Î µî·ÏÇÏÁö ¾ÊÀ¸¸é ATLÀº  "ATL:00406060" °ú °°Àº À̸§À» ÀÚµ¿ÀûÀ¸·Î µî·ÏÇÕ´Ï´Ù.



CWndClassInfo±¸Á¶Ã¼

¡¡CWndClassInfo±¸Á¶Ã¼´Â À©µµ¿ì Ŭ·¡½º¸í ¸ÅÅ©·Îº¸´Ù À©µµ¿ìÀÇ ¼Ó¼ºÀ» ¼¼¼¼ÇÏ°Ô ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. CWndClassInfo(À»)¸¦ »ç¿ëÇØ »õ·Î¿î ¼Ó¼ºÀ» ÁöÁ¤Çϱâ À§Çؼ­´Â , CWindowImpl::GetWndClassInfo()À» ¿À¹ö¶óÀ̵å(override) ÇØ Ä¿½ºÅ͸¶ÀÌÁî ÇÑ Á¤ÀûÀÎCWndClassInfoÀνºÅϽºÀÇ ÂüÁ¶¸¦ µ¹·ÁÁÝ´Ï´Ù.

class CMyWindow: public CWindowImpl<CMyWindow>

{

public:

    static CWndClassInfo& GetWndClassInfo()

    {

        static CWndClassInfo wc =

        {

            {sizeof(WNDCLASSEX), CS_HREDRAW | CS_VREDRAW, StartWindowProc,

            0, 0, NULL, NULL, NULL, (HBRUSH)(COLOR_WINDOW + 1), NULL,

            "MyWindow", NULL},            // WNDCLASSEX±¸Á¶Ã¼

            NULL,                         // ±âÁ¸ÀÇ À©µµ¿ì Ŭ·¡½º¸í

            NULL,                         // ±âÁ¸ÀÇ À©µµ¿ì ÇÁ·Î½ÃÀú

            MAKEINTRESOURCE(IDC_CURSOR1), // Ä¿¼­ ÀÚ¿ø¸í

            FALSE,                        // ½Ã½ºÅÛ Ä¿¼­¶ó¸éTRUE, ±× Àܴ̿ÂFALSE

            0,                            // µî·ÏÀÌ ³¡³­ À©µµ¿ì Ŭ·¡½ºÀÇ ½Äº°ÀÚ

            _T("")                        // ATL°¡ ÀÚµ¿ »ý¼ºÇÑ À©µµ¿ì Ŭ·¡½º¸í

        };

        return wc;

    }

...

};