123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- #ifndef WIN_IMPL_BASE_HPP
- #define WIN_IMPL_BASE_HPP
- namespace DuiLib
- {
- enum UILIB_RESOURCETYPE
- {
- UILIB_FILE=1, // 来自磁盘文件
- UILIB_ZIP, // 来自磁盘zip压缩包
- UILIB_RESOURCE, // 来自资源
- UILIB_ZIPRESOURCE, // 来自资源的zip压缩包
- };
- class UILIB_API WindowImplBase
- : public CWindowWnd
- , public CNotifyPump
- , public INotifyUI
- , public IMessageFilterUI
- , public IDialogBuilderCallback
- {
- public:
- WindowImplBase();
- virtual ~WindowImplBase(){};
- virtual void InitWindow(){};
- virtual void OnFinalMessage( HWND hWnd );
- virtual void Notify(TNotifyUI& msg);
-
- //------------------------add---------------------------
- UINT DoModal (HWND hParent = nullptr);
- template<class ControlTy_ = CControlUI>
- ControlTy_* const FindControl (LPCTSTR lpstrName)
- {
- auto pControl = m_PaintManager.FindControl( lpstrName );
- //assert( nullptr != pControl );
- return reinterpret_cast<ControlTy_*>(pControl);
- };
- #define DUI_OBJ(obj_name) auto obj_name = WindowImplBase::FindControl(L#obj_name)
- #define DUI_OBJ_EXT(obj_name,obj_type) auto obj_name = WindowImplBase::FindControl<obj_type>(L#obj_name)
- #define DECLARE_DUI_FILE(_dir,_xml,_unused) \
- public: \
- DuiLib::CDuiString GetSkinFolder () {return L#_dir;}; \
- DuiLib::CDuiString GetSkinFile () {return L#_xml;};
- #define DECLARE_DUI_ZIP(_dir,_xml,_zip) \
- public: \
- DuiLib::CDuiString GetSkinFolder () {return L#_dir;}; \
- DuiLib::CDuiString GetSkinFile () {return L#_xml;}; \
- DuiLib::CDuiString GetZIPFileName () const{return L#_zip;}; \
- UILIB_RESOURCETYPE GetResourceType() const{return UILIB_FILE;};
- #define DECLARE_DUI_SKIN(_dir,_xml,_zip) \
- public: \
- DuiLib::CDuiString GetSkinFolder () {return _dir;}; \
- DuiLib::CDuiString GetSkinFile () {return L#_xml;}; \
- DuiLib::CDuiString GetZIPFileName () const{return L#_zip;}; \
- UILIB_RESOURCETYPE GetResourceType() const{return UILIB_FILE;};
- //#ifdef _DEBUG
- //#define DELCARE_DUI_RES DECLARE_DUI_FILE
- //#else
- //#define DECLARE_DUI_RES DECLARE_DUI_ZIP
- //#endif
- //----------------------------end---------------------------------;
- DUI_DECLARE_MESSAGE_MAP()
- virtual void OnClick(TNotifyUI& msg);
- protected:
- virtual CDuiString GetSkinFolder () = 0;
- virtual CDuiString GetSkinFile () = 0;
- //virtual LPCTSTR GetWindowClassName(void) const = 0;
- virtual LPCTSTR GetWindowClassName () const;
- virtual LRESULT ResponseDefaultKeyEvent(WPARAM wParam);
- CPaintManagerUI m_PaintManager;
- static LPBYTE m_lpResourceZIPBuffer;
- public:
- virtual UINT GetClassStyle() const;
- virtual UILIB_RESOURCETYPE GetResourceType() const;
- virtual CDuiString GetZIPFileName() const;
- virtual LPCTSTR GetResourceID() const;
- virtual CControlUI* CreateControl(LPCTSTR pstrClass);
- virtual LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM /*lParam*/, bool& /*bHandled*/);
- virtual LRESULT OnClose(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled);
- virtual LRESULT OnDestroy(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled);
- #if defined(WIN32) && !defined(UNDER_CE)
- virtual LRESULT OnNcActivate(UINT /*uMsg*/, WPARAM wParam, LPARAM /*lParam*/, BOOL& bHandled);
- virtual LRESULT OnNcCalcSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
- virtual LRESULT OnNcPaint(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
- virtual LRESULT OnNcHitTest(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
- virtual LRESULT OnGetMinMaxInfo(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
- virtual LRESULT OnMouseWheel(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled);
- virtual LRESULT OnMouseHover(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
- #endif
- virtual LRESULT OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
- virtual LRESULT OnChar(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
- virtual LRESULT OnSysCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
- virtual LRESULT OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
- virtual LRESULT OnKeyDown(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled);
- virtual LRESULT OnKillFocus(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled);
- virtual LRESULT OnSetFocus(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled);
- virtual LRESULT OnLButtonDown(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled);
- virtual LRESULT OnLButtonUp(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled);
- virtual LRESULT OnMouseMove(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& bHandled);
- virtual LRESULT HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam);
- virtual LRESULT HandleCustomMessage(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
- virtual LONG GetStyle();
- };
- }
- #endif // WIN_IMPL_BASE_HPP
|