LangManager.h
上传用户:szled88
上传日期:2015-04-09
资源大小:43957k
文件大小:2k
源码类别:

对话框与窗口

开发平台:

Visual C++

  1. // LangManager.h: interface for the CLanguageManger class.
  2. //
  3. // This file is a part of the XTREME TOOLKIT PRO MFC class library.
  4. // (c)1998-2008 Codejock Software, All Rights Reserved.
  5. //
  6. // THIS SOURCE FILE IS THE PROPERTY OF CODEJOCK SOFTWARE AND IS NOT TO BE
  7. // RE-DISTRIBUTED BY ANY MEANS WHATSOEVER WITHOUT THE EXPRESSED WRITTEN
  8. // CONSENT OF CODEJOCK SOFTWARE.
  9. //
  10. // THIS SOURCE CODE CAN ONLY BE USED UNDER THE TERMS AND CONDITIONS OUTLINED
  11. // IN THE XTREME TOOLKIT PRO LICENSE AGREEMENT. CODEJOCK SOFTWARE GRANTS TO
  12. // YOU (ONE SOFTWARE DEVELOPER) THE LIMITED RIGHT TO USE THIS SOFTWARE ON A
  13. // SINGLE COMPUTER.
  14. //
  15. // CONTACT INFORMATION:
  16. // support@codejock.com
  17. // http://www.codejock.com
  18. //
  19. /////////////////////////////////////////////////////////////////////////////
  20. #if !defined(__LANGMANAGER_H__)
  21. #define __LANGMANAGER_H__
  22. #if _MSC_VER > 1000
  23. #pragma once
  24. #endif // _MSC_VER > 1000
  25. struct LANGUAGE_DLL
  26. {
  27. UINT    uCmdID;
  28. CString strDllPath;
  29. };
  30. typedef CMap<WORD,WORD,LANGUAGE_DLL,LANGUAGE_DLL&> CMapLangDll;
  31. class CLanguageManger
  32. {
  33. public:
  34. CLanguageManger();
  35. virtual ~CLanguageManger();
  36. protected:
  37. WORD        m_wLangID;
  38. HMODULE     m_hModule;
  39. CMapLangDll m_mapLangDll;
  40. public:
  41. BOOL InitLanguageDlls();
  42. BOOL InitLanguageDlls(CString strDllPath);
  43. BOOL LoadLanguageDll(LPCTSTR lpszDllPath);
  44. BOOL LoadLanguageDll(const WORD& wLangId);
  45. BOOL IsRTL() const;
  46. BOOL GetDllInfo(const WORD& wLangId, LANGUAGE_DLL& langDll);
  47. WORD GetLangID() const;
  48. WORD GetLangID(UINT nCmdID) const;
  49. WORD GetLangID(HMODULE hResDll) const;
  50. void SetRTLLayout(CWnd* pWnd, BOOL bRTLLayout);
  51. UINT GetCmdID(const WORD& wLangId) const;
  52. CString GetDescription(const WORD& wLangId) const;
  53. CMapLangDll& GetLangMap();
  54. protected:
  55. void LayoutWindow(CWnd* pWnd, BOOL bRTLLayout);
  56. static BOOL CALLBACK EnumResTypeProc(HMODULE hModule, LPTSTR lpszType, LONG_PTR lParam);
  57. static BOOL CALLBACK EnumResNameProc(HMODULE hModule, LPCTSTR lpszType, LPTSTR lpszName, LONG_PTR lParam); // <combine CXTPResourceManager::EnumResTypeProc@HMODULE@LPTSTR@LONG_PTR>
  58. static BOOL CALLBACK EnumResLangProc(HMODULE hModule, LPCTSTR lpszType, LPCTSTR lpszName,
  59.  WORD wIDLanguage, LONG_PTR lParam); // <combine CXTPResourceManager::EnumResTypeProc@HMODULE@LPTSTR@LONG_PTR>
  60. };
  61. #endif // !defined(__LANGMANAGER_H__)