WinImplBase.h 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #ifndef WIN_IMPL_BASE_HPP
  2. #define WIN_IMPL_BASE_HPP
  3. namespace DuiLib
  4. {
  5. class UILIB_API WindowImplBase
  6. : public CWindowWnd
  7. , public CNotifyPump
  8. , public INotifyUI
  9. , public IMessageFilterUI
  10. , public IDialogBuilderCallback
  11. , public IQueryControlText
  12. {
  13. public:
  14. WindowImplBase(){};
  15. virtual ~WindowImplBase(){};
  16. // 只需主窗口重写(初始化资源与多语言接口)
  17. virtual void InitResource(){};
  18. // 每个窗口都可以重写
  19. virtual void InitWindow(){};
  20. virtual void OnFinalMessage( HWND hWnd );
  21. virtual void Notify(TNotifyUI& msg);
  22. DUI_DECLARE_MESSAGE_MAP()
  23. virtual void OnClick(TNotifyUI& msg);
  24. virtual BOOL IsInStaticControl(CControlUI *pControl);
  25. protected:
  26. virtual CDuiString GetSkinType() { return _T(""); }
  27. virtual CDuiString GetSkinFile() = 0;
  28. virtual LPCTSTR GetWindowClassName(void) const = 0 ;
  29. virtual LPCTSTR GetManagerName() { return NULL; }
  30. virtual LRESULT ResponseDefaultKeyEvent(WPARAM wParam);
  31. CPaintManagerUI m_pm;
  32. public:
  33. virtual UINT GetClassStyle() const;
  34. virtual CControlUI* CreateControl(LPCTSTR pstrClass);
  35. virtual LPCTSTR QueryControlText(LPCTSTR lpstrId, LPCTSTR lpstrType);
  36. virtual LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM /*lParam*/, bool& /*bHandled*/);
  37. virtual LRESULT OnClose(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled);
  38. virtual LRESULT OnDestroy(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled);
  39. #if defined(WIN32) && !defined(UNDER_CE)
  40. virtual LRESULT OnNcActivate(UINT /*uMsg*/, WPARAM wParam, LPARAM /*lParam*/, BOOL& bHandled);
  41. virtual LRESULT OnNcCalcSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  42. virtual LRESULT OnNcPaint(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
  43. virtual LRESULT OnNcHitTest(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  44. virtual LRESULT OnGetMinMaxInfo(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  45. virtual LRESULT OnMouseWheel(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled);
  46. virtual LRESULT OnMouseHover(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  47. #endif
  48. virtual LRESULT OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  49. virtual LRESULT OnChar(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  50. virtual LRESULT OnSysCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  51. virtual LRESULT OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  52. virtual LRESULT OnKeyDown(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled);
  53. virtual LRESULT OnKillFocus(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled);
  54. virtual LRESULT OnSetFocus(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled);
  55. virtual LRESULT OnLButtonDown(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled);
  56. virtual LRESULT OnLButtonUp(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled);
  57. virtual LRESULT OnMouseMove(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled);
  58. virtual LRESULT HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam);
  59. virtual LRESULT HandleCustomMessage(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  60. virtual LONG GetStyle();
  61. };
  62. }
  63. #endif // WIN_IMPL_BASE_HPP