WinImplBase.h 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #ifndef WIN_IMPL_BASE_HPP
  2. #define WIN_IMPL_BASE_HPP
  3. namespace DuiLib
  4. {
  5. enum UILIB_RESOURCETYPE
  6. {
  7. UILIB_FILE=1, // 来自磁盘文件
  8. UILIB_ZIP, // 来自磁盘zip压缩包
  9. UILIB_RESOURCE, // 来自资源
  10. UILIB_ZIPRESOURCE, // 来自资源的zip压缩包
  11. };
  12. class DUILIB_API WindowImplBase
  13. : public CWindowWnd
  14. , public CNotifyPump
  15. , public INotifyUI
  16. , public IMessageFilterUI
  17. , public IDialogBuilderCallback
  18. {
  19. public:
  20. WindowImplBase(){};
  21. virtual ~WindowImplBase(){};
  22. virtual void InitWindow(){};
  23. virtual void OnFinalMessage( HWND hWnd );
  24. virtual void Notify(TNotifyUI& msg);
  25. DUI_DECLARE_MESSAGE_MAP()
  26. virtual void OnClick(TNotifyUI& msg);
  27. protected:
  28. virtual CDuiString GetSkinFolder() = 0;
  29. virtual CDuiString GetSkinFile() = 0;
  30. virtual LPCTSTR GetWindowClassName(void) const = 0 ;
  31. virtual LRESULT ResponseDefaultKeyEvent(WPARAM wParam);
  32. CPaintManagerUI m_PaintManager;
  33. static LPBYTE m_lpResourceZIPBuffer;
  34. public:
  35. virtual UINT GetClassStyle() const;
  36. virtual UILIB_RESOURCETYPE GetResourceType() const;
  37. virtual CDuiString GetZIPFileName() const;
  38. virtual LPCTSTR GetResourceID() const;
  39. virtual CControlUI* CreateControl(LPCTSTR pstrClass);
  40. virtual LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM /*lParam*/, bool& /*bHandled*/);
  41. virtual LRESULT OnClose(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled);
  42. virtual LRESULT OnDestroy(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled);
  43. #if defined(WIN32) && !defined(UNDER_CE)
  44. virtual LRESULT OnNcActivate(UINT /*uMsg*/, WPARAM wParam, LPARAM /*lParam*/, BOOL& bHandled);
  45. virtual LRESULT OnNcCalcSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  46. virtual LRESULT OnNcPaint(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
  47. virtual LRESULT OnNcHitTest(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  48. virtual LRESULT OnGetMinMaxInfo(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  49. virtual LRESULT OnMouseWheel(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled);
  50. virtual LRESULT OnMouseHover(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  51. #endif
  52. virtual LRESULT OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  53. virtual LRESULT OnChar(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  54. virtual LRESULT OnSysCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  55. virtual LRESULT OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  56. virtual LRESULT OnKeyDown(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled);
  57. virtual LRESULT OnKillFocus(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled);
  58. virtual LRESULT OnSetFocus(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled);
  59. virtual LRESULT OnLButtonDown(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled);
  60. virtual LRESULT OnLButtonUp(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled);
  61. virtual LRESULT OnMouseMove(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled);
  62. virtual LRESULT HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam);
  63. virtual LRESULT HandleCustomMessage(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  64. virtual LONG GetStyle();
  65. };
  66. }
  67. #endif // WIN_IMPL_BASE_HPP