123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- /************************************************************************/
- /* Copyright (C), 2016-2020, [IT], 保留所有权利;
- /* 模 块 名:;
- /* 描 述:;
- /*
- /* 版 本:[V];
- /* 作 者:[IT];
- /* 日 期:[11/11/2016];
- /*
- /*
- /* 注 意:;
- /*
- /* 修改记录:[IT];
- /* 修改日期:;
- /* 修改版本:;
- /* 修改内容:;
- /************************************************************************/
- #ifndef __EDIT_LIST_CTRL__
- #define __EDIT_LIST_CTRL__
- #pragma once
- #define WM_USER_EDIT_END WM_USER+1002
- #include "SortHeaderCtrl.h"
- // 声明回调函数;
- typedef void(CALLBACK *EditResult)(IN INT nItem, IN INT nSubItem, IN CString strText);
- class CListCtrlEdit : public CEdit
- {
- DECLARE_DYNAMIC(CListCtrlEdit)
- public:
- CListCtrlEdit();
- virtual ~CListCtrlEdit();
- public:
- void SetCtrlData(DWORD dwData);
- DWORD GetCtrlData();
- void SetInput(const DWORD dwRight);
- void SetOthers(const char* pOthers, const int nSize);
- public:
- virtual BOOL PreTranslateMessage(MSG* pMsg);
- protected:
- afx_msg void OnKillFocus(CWnd* pNewWnd);
- afx_msg void OnSetFocus(CWnd* pOldWnd);
- DECLARE_MESSAGE_MAP()
- private:
- DWORD m_dwData;
- BOOL m_bExchange;
- };
- class CEditListCtrl : public CListCtrl
- {
- CSortHeaderCtrl m_Ctrlheader;
- public:
- CEditListCtrl();
- BOOL SetItemText(int nItem, int nSubItem, LPCTSTR lpszText);
- CString GetItemText(int nItem, int nSubItem);
- // 设置list列信息;
- BOOL SetHeadings(IN LPCTSTR pszText, ...);
- public:
- virtual BOOL PreTranslateMessage(MSG* pMsg);
- protected:
- virtual void PreSubclassWindow();
- public:
- vector<int> m_vtEditColumn;
- void SetEditColumn(IN vector<int> &vtEditColumn)
- {
- m_vtEditColumn.clear();
- m_vtEditColumn.insert(m_vtEditColumn.begin(),vtEditColumn.begin(), vtEditColumn.end());
- }
- INT m_mode;
- // 列数;
- INT m_nNumColumns;
- // 回调函数指针;
- EditResult m_pCallBackEditResult;
- void SetCallbackEditResult(IN LPVOID lpCallBack)
- {
- if ( lpCallBack )
- m_pCallBackEditResult = (EditResult)lpCallBack;
- }
- void InitStyle();
- virtual ~CEditListCtrl();
- protected:
- afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
- afx_msg void OnParentNotify(UINT message, LPARAM lParam);
- afx_msg void OnCustomdrawList(NMHDR*, LRESULT*);
- afx_msg LRESULT OnEditEnd(WPARAM, LPARAM lParam = FALSE);
- DECLARE_MESSAGE_MAP()
- private:
- CListCtrlEdit m_edit;
- void ShowEdit(BOOL bShow, int nItem, int nIndex, CRect rc = CRect(0, 0, 0, 0));
-
- int m_nItem;
- int m_nSub;
- BOOL Key_Shift(int& nItem, int& nSub);
- BOOL Key_Ctrl(int& nItem, int &nSub);
- };
- #endif // __EDIT_LIST_CTRL__;
|