#pragma once #include "stdafx.h" #define EDITITEM_CAMPARE_FIRSTVALUE 0x0001 #define EDITITEM_CAMPARE_SECONDVALUE 0x0002 #define EDITITEM_CAMPARE_ALLVALUE 0x0003 typedef struct _EDIT_ITEM { CString strValue1; CString strValue2; _EDIT_ITEM() : strValue1( _T("") ),strValue2( _T("") ) {}; } EDIT_ITEM; typedef CArray CEidtItemArray; class CMBEditItemWnd: public SHostDialog { public: CMBEditItemWnd(void); ~CMBEditItemWnd(void); private: BOOL m_bLayoutInited; // ³õʼ»¯±êʶ CString m_strTitle; CString m_strName1; CString m_strName2; CString m_strValue1; CString m_strValue2; bool m_bValue2MultiRow; bool m_bValue1NumberOnly; bool m_bValue2NumberOnly; UINT m_uCampareValue; bool m_bValue1CanEmpty; bool m_bValue2CanEmpty; CEidtItemArray m_arEidtItem; public: int OnCreate(LPCREATESTRUCT lpCreateStruct); BOOL OnInitDialog(HWND wndFocus, LPARAM lInitParam); void OnOK(); // È·¶¨ bool OnContentEventDown(EventArgs *pEvtBase); protected: //souiÏûÏ¢ EVENT_MAP_BEGIN() EVENT_NAME_COMMAND(L"btn_ok", OnOK) EVENT_MAP_END() //HostWndÕæÊµ´°¿ÚÏûÏ¢´¦Àí BEGIN_MSG_MAP_EX(CMBEditItemWnd) MSG_WM_CREATE(OnCreate) MSG_WM_INITDIALOG(OnInitDialog) // ¼ì²â¿ì½Ý¼ü MSG_WM_KEYDOWN(OnKeyDown) CHAIN_MSG_MAP(SHostDialog) REFLECT_NOTIFICATIONS_EX() END_MSG_MAP() private: void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags); public: void SetExistValueData( CEidtItemArray &arEidtItem); void SetWndData(CString strTitle, CString strName1, CString strName2); void SetValueData( CString strValue1, CString strValue2); void GetValueData( CString &strValue1, CString &strValue2); void SetValueMultiRow( bool bValue2MultiRow); void SetValueNumberOnly( bool bValue1NumberOnly, bool bValue2NumberOnly); void SetCompareValueType(UINT uCampareValue){m_uCampareValue = uCampareValue;}; void SetValueCanEmpty( bool bValue1CanEmpty, bool bValue2CanEmpty); int FindEditItem(CString strValue1, CString strValue2); };