#pragma once //! [2010-3-11 by i4u4me] //! ¼öÁ¤µÈ ÆÄÀÏ Æ÷¸ä : control(static, button) ¿¡ ±ÛÁÙÀÓ Ç¥½Ã ³Ö±â //! control(static, button) ¿¡ money ŸÀÔ Ãß°¡ //! °ü·Ã º¯¼ö : m_bTextReducing //#define UI_VERSION "ver.r2.0" // ÇöÁ¦ UI¹öÁ¯ //#define UI_VERSION "ver.r2.1" // ŸÀϸµ À̹ÌÁö Ãß°¡¹öÀü //#define UI_VERSION "ver.r2.2" // »ç¿îµå Ãß°¡¹öÀü #define UI_VERSION "ver.r2.3" // ¸Þ¼¼Áö ¹«½Ã Ãß°¡¹öÀü #ifdef UNICODE #define FindStringTable FindStringTableW #else #define FindStringTable FindStringTableA #endif #ifdef UNICODE #define AddStringTable AddStringTableW #else #define AddStringTable AddStringTableA #endif #ifdef UNICODE #define GetStringTableIndexValue GetStringTableIndexValueW #else #define GetStringTableIndexValue GetStringTableIndexValueA #endif class CStringManager; class CBaseManager; class CDrawCtrl; class CDialogWZ; class CControlWZ; class CDialogManager { public: CDialogManager(); virtual ~CDialogManager(); //. Create virtual bool OnCreate(char* pszPath, HWND hParentWnd, HINSTANCE hInstance, void* pDraw,bool blDxUse = true); //. Destroy virtual void OnDestroy(); //. Á¤º¸ ÇØÃ¼. (¸ÞÀÎ Æ÷ÀÎÆ®µéÀº ÇØÃ¼ ¾ÈÇÔ) virtual void OnRelease(); //. Create Dialog ÇÔ¼öµé virtual CDialogWZ* CreateDialogWZ(DWORD dwDlgID, DWORD dwStyle); virtual CControlWZ* CreateControlWZ(DWORD dwDlgID,DWORD dwCtrlID,DWORD dwCtrlKind, DWORD dwCtrlStyle,RECT* rtSize); //. Remove Dialog ÇÔ¼öµé virtual bool RemoveDialogWZ(DWORD dwDlgID); virtual bool RemoveControlWZ(DWORD dwDlgID,DWORD dwCtrlID); //. ±âº» Process virtual void OnDoAction(); virtual void OnDraw(); virtual void OnDrawDialog(DWORD dwDlgID); //. À̹ÌÁö Æ÷¸ä °ú·Ã ÇÔ¼öµé virtual void SetDialogImageFormat(DWORD dwDlgID,SI_TFORMAT* pFMT); virtual void SetControlImageFormat(DWORD dwDlgID, DWORD dwCtrlID,SI_TFORMAT* pFMT); virtual bool GetDialogWZSizeRect(DWORD dwDlgID, RECT* prtRect); //. ¾Æµð¿¡ ÇØ´çÇÏ´Â Dlg RectÀ» ¾ò¾î¿Â´Ù. virtual bool GetControlSizeRect(DWORD dwDlgID, DWORD dwCtrlID, RECT* prtRect); //. ¾Æµð¿¡ ÇØ´çÇÏ´Â Control RectÀ» ¾ò¾î¿Â´Ù. virtual DWORD GetDialogIDToIndex(int nIndex); //. À妽º ¼ø¼­ÀÇ Dlg ID¸¦ ¾ò¾î¿Â´Ù. virtual void MoveDialogWZ(DWORD dwDlgID, DWORD dwCtrlID, RECT rtRect); //. Dlg ID À§Ä¡ ±³Ã¼ virtual void GetClientRectWZ(DWORD dwDlgID, RECT* prtClientRect); //. Client ¿µ¿ªÀÌ Dlg ¿µ¿ªÀÌ¶ó º¸¸é µÈ´Ù. //. ¿ÜºÎ ÇÁ·Î¼¼½º¿Í À©µµ¿ì ¸Þ¼¼Áö·Î ¿¬°á ÇØÁØ´Ù. Áß¿äÇÔ¼ö virtual bool WindowProc( HWND hWnd, UINT iMessage, WPARAM wParam, LPARAM lParam, SI_MESSAGE* pResultMsg); virtual DWORD GetDlgCnt(); //. Dlg °³¼ö¸¦ ¾ò¾î¿Â´Ù. virtual CDialogWZ* GetDialogWZ(DWORD dwDlgID); //. Dialog Æ÷ÀÎÅ͸¦ ¾ò¾î¿Â´Ù. virtual void ChangeDrawClassPtr(void* pDraw,HWND hParent); //. ·£´õ·¯ÀÇ Æ÷ÀÎÆ®°¡ º¯°æ µÉ °æ¿ì ¼³Á¤ÇØÁØ´Ù. virtual void EnableImeSystem(bool blEnable); //. IME EditÀÇ On/Off //. ÀúÀå/·Îµå °ü·Ã ÇÔ¼ö. //. ÀúÀå µÈ ¾Æµð°¡ Manager¾È¿¡ ÀÖÀ»°æ¿ì ·£´ý ¾Æµð »ý¼ºÇØ Dialog¸¦ ¸¸µç´ÙÀ½ »õ·Î¿î ¾Æµð ¸®ÅÏ. virtual DWORD OnLoad(HANDLE hHandle, DWORD* pdwDlgID = NULL, SYSTEMTIME* pSystemTime = NULL); //. DialogWZ Á¤º¸¸¦ ÀúÀåÇÑ´Ù. virtual void OnSave(HANDLE hHandle, SYSTEMTIME* pSystemTime = NULL); //. String ¸Þ´ÏÁ® Á¢±Ù ÇÔ¼ö. //. nLength ÀÇ °æ¿ì´Â ¿ÜºÎ¿¡¼­ ¼³Á¤ÇÑ ¹öÅÍ Å©±â¸¦ ³Ö¾îÁØ´Ù. ³»ºÎ¿¡¼­ ÇÒ´ç Å©±â¸¦ ¾Ë ÇÊ¿ä ÀÖÀ½ virtual int GetCountStringTable(); //. StringTable °³¼ö¸¦ ¾ò¾î¿Â´Ù. virtual bool RemoveStringTable(DWORD dwStrID); //. ÁÖ¾îÁø ¾ÆµðÀÇ ÇØ´ç String Á¦°Å. virtual bool FindStringTableA(DWORD dwStrID,char* pszText = NULL, int nLength = 256); virtual bool FindStringTableW(DWORD dwStrID,WCHAR* pwszText = NULL, int nLength = 256); virtual bool AddStringTableA(DWORD dwStrID, char* pszText); virtual bool AddStringTableW(DWORD dwStrID, WCHAR* pwszText); virtual bool GetStringTableIndexValueA(int iIndex, DWORD* pdwStrID, char* pszText = NULL, int nLength = 256); virtual bool GetStringTableIndexValueW(int iIndex, DWORD* pdwStrID, WCHAR* pwszText = NULL, int nLength = 256 ); virtual bool SaveStringTable(char* pszPath); //. StringTable ¸®½ºÆ® Txt ÆÄÀÏ·Î ÀúÀå virtual bool LoadStringTable(char* pszPath,ENUM_LOAD_UITYPE eLoadType = ELUIT_ADD); //. StringTable ÀÐ¾î ¿À±â //. ÆùÆ® °ü·Ã ÇÔ¼öµé. virtual void SetDefaultFontID(DWORD dwFontID); //. µðÆúÆ® ÆùÆ® ¾Æµð ¼³Á¤ÇÑ´Ù. virtual DWORD GetDefaultFontID(); //. µðÆúÆ® ÆùÆ® ¾Æµð¸¦ ¾ò¾î¿Â´Ù. //. Default ÆùÆ® virtual int GetNumberOfDefaultFont(); //. µðÆúÆ®ÆùÆ® °³¼ö ¾ò±â virtual BOOL GetDefaultFontInfo(int iIndex,DWORD* pdwFontID,LOGFONTA* pLogFont); //. µðÆúÆ®ÆùÆ® Á¤º¸ ¾ò±â //. È®Àå ÆùÆ®. virtual BOOL AddExtendedFont(DWORD dwFontID, LOGFONTA* pLogFont); //. È®ÀåÆùÆ® Ãß°¡ virtual void DeleteExtendedFont( DWORD dwFontID); //. È®ÀåÆùÆ® »èÁ¦ virtual void DeleteAllExtendedFont(); //. È®ÀåÆùÆ® ¸ðµÎ »èÁ¦ virtual int GetNumberOfExtendedFont(); //. È®ÀåÆùÆ® °³¼ö ¾ò±â virtual BOOL GetExtendedFontInfo( int iIndex,DWORD* pdwFontID, LOGFONTA* pLogFont); //. È®ÀåÆùÆ® Á¤º¸ ¾ò±â virtual BOOL LoadExtendedFontInfo(char* pszPath); //. wft ÆÄÀÏ ÀúÀå ÇØÁØ´Ù. virtual BOOL SaveExtendedFontInfo(char* pszPath); //. wft ÆÄÀÏ ÀÐ°í µî·Ï ÇØÁØ´Ù. //. Disc Access virtual void SetDiscAccess(VOID* pPtr); //. File Stream °ü¸®ÀÚ ¼³Á¤. //. ±âŸ ÇÔ¼öµé. virtual void RequestFocus(CDialogWZ* pDlg); //. Æ÷Ä¿½º¸¦ üũ ÇÑ´Ù.: bool IsUseDx(){return m_blUseDxEdit;} //. DXÀÇ »ç¿ë ¿©ºÎ¸¦ °Ë»çÇÑ´Ù. virtual void FirstDialogID(DWORD dwDigID); //. ÇØ´ç ¾Æµð¸¦ ÃÖ»óÀ§¿¡ Àû¿ëÇÑ´Ù.- ¾ÆÀ̵𸦠¸®½ºÆ®¿¡ Ãß°¡ÇÑ´Ù. virtual void DeAttachFirstDialogID(DWORD dwDigID); //. ÇØ´ç ¾Æµð¸¦ ÃÖ»óÀ§¿¡¼­ ¶¼¾î³½´Ù. virtual void ApplyAttachDialog(); //. ÃÖ»óÀ§ À©µµ¿ì ¸®½ºÆ®ÀÇ ´ÙÀ̾ó·Î±×¸¦ ÃÖ»óÀ§·Î Àû¿ë½ÃŲ´Ù. virtual void LockMessageDialogID(DWORD dwDlgID); //. Model ±â´É °°ÀÌ MessageÀ» µ¶Á¡ÇÑ´Ù.(ÇØÃ¼:NULL); //. DialogID°¡ Lock µÇ¾î ÀÖÀ¸¸é ´Ù¸¥ DialogID´Â ¹«½Ã. ¹Ýµå½Ã »ç¿ë ÈÄ ÇØÃ¼ virtual void SetResourceFolderPath(char* pszPath); //. ¸®¼Ò½º Æú´õ °æ·Î¸¦ ¼³Á¤ÇÑ´Ù. virtual int GetActiveEditCount(); //. ÇöÀç Ȱ¼ºÈ­µÈ Edit °³¼ö¸¦ ÁØ´Ù. virtual void SetExePath( const char * szPath ); //. ÆÐ½º¸¦ ´Ù½Ã ¼³Á¤ virtual CStringManager* GetStringManager() { return m_pcStringManager; } virtual CBaseManager* GetDlgManager() { return m_pcDlgManager; } virtual DWORD GetLockDlgID(); virtual DWORD PickDialog( int x, int y ); virtual void MoveTail( int Dialokey ); virtual void MoveHead( int Dialokey ); public: CDrawCtrl* m_pcDraw; //. Draw ¿£Áø Æ÷ÀÎÅ͸¦ °¡Áö°í Draw °ü·Ã ó¸®ÇÔ¼öµéÀÌ Àִ Ŭ·¡½º..... SI_MESSAGE m_sReturnMsg; //. Message Á¤º¸ °ü·Ã Æ÷ÀÎÅÍ. static DWORD m_sLockDlgID; //. Dialog »óŸ¦ Àᱺ´Ù. private: CBaseManager* m_pcDlgManager; //. WzID °ü¸® ¸Þ´ÏÀú.(¾Æµð, Ŭ·¡½º Æ÷ÀÎÅÍ) CStringManager* m_pcStringManager; //. Text °ü¸® ¸Þ´ÏÁ®. char m_szPath[MAX_PATH]; //. °× °æ·Î¸¦ °¡Áö°í ÀÖ´Ù. HWND m_hParentWnd; //. ºÎ¸ð ÇÚµé HINSTANCE m_hInstance; //. ÀνºÅϽº... CDialogWZ* m_pDialogFocus; //. Æ÷Ä¿½º °¡Áö°í ÀÖ´Â Dialog Æ÷ÀÎÅÍ. bool m_blUseDxEdit; //. Dx Edit »ç¿ë/ºñ»ç¿ë. STD_LIST m_stdFisrtDrawList; // ÃÖ»óÀ§ À©µµ¿ì ¸®½ºÆ® };