描述:
我有一个控件类,如下是他的头文件,请问如何改写?
我可以提供源码:
class CReportCtrl : public CWnd
{
friend class CReportView;
friend class CReportHeaderCtrl;
friend class CReportTipCtrl;
friend class CReportSubItemListCtrl;
// Construction
public:
DECLARE_DYNCREATE(CReportCtrl)
CReportCtrl();
public:
BOOL Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext = NULL);
// Attributes
public:
DWORD GetStyle() const;
BOOL ModifyProperty(WPARAM wParam, LPARAM lParam);
void SetIndentFirstColumn(INT iIndent);
INT ActivateSubItem(INT iSubItem, INT iColumn = 0);
BOOL DeactivateSubItem(INT iSubItem);
BOOL DeactivateAllSubItems();
BOOL IsActiveSubItem(INT iSubItem);
INT GetActiveSubItemCount();
INT GetSubItemWidth(INT iSubItem);
BOOL SetSubItemWidth(INT iSubItem, INT iWidth = -1);
INT GetItemIndex(HTREEITEM hItem);
HTREEITEM GetItemHandle(INT iItem);
void SetTreeSubItem(HTREEITEM hItem, INT iSubItem = -1);
HTREEITEM GetNextItem(HTREEITEM hItem, UINT nCode);
BOOL GetItem(LPRVITEM lprvi);
BOOL SetItem(LPRVITEM lprvi);
INT GetItemText(INT iItem, INT iSubItem, LPTSTR lpszText, INT iLen);
CString GetItemText(INT iItem, INT iSubItem);
BOOL SetItemText(INT iItem, INT iSubItem, LPCTSTR lpszText);
INT GetItemImage(INT iItem, INT iSubItem);
BOOL SetItemImage(INT iItem, INT iSubItem, INT iImage);
INT GetItemCheck(INT iItem, INT iSubItem);
BOOL SetItemCheck(INT iItem, INT iSubItem, INT iCheck = -1);
DWORD GetItemData(INT iItem);
BOOL SetItemData(INT iItem, DWORD dwData);
BOOL GetItemRect(INT iItem, INT iSubItem, LPRECT lpRect, UINT nCode = RVIR_BOUNDS);
BOOL MeasureItem(INT iItem, INT iSubItem, LPRECT lpRect, BOOL bTextOnly = FALSE);
INT GetItemHeight();
void SetItemHeight(INT iHeight);
INT GetVisibleCount(BOOL bUnobstructed = TRUE);
INT GetTopIndex();
BOOL IsItemVisible(INT iItem, BOOL bUnobstructed = TRUE);
void PageUp();
void PageDown();
INT GetItemCount();
INT GetItemCount(HTREEITEM hItem, BOOL bRecurse = FALSE);
void SetItemCount(INT iCount);
INT GetFirstSelectedItem();
INT GetNextSelectedItem(INT iItem);
INT GetSelectedItems(LPINT lpiItems, INT iMax);
void ClearSelection();
void InvertSelection();
void SelectAll();
void SetSelection(INT iItem, BOOL bKeepSelection = FALSE);
void SetSelection(LPINT lpiItems, INT iCount, BOOL bKeepSelection = FALSE);
void SetSelection(INT iSubItem, CString& strPattern, BOOL bKeepSelection);
void SetSelectionLessEq(INT iSubItem, INT iMatch, BOOL bKeepSelection);
void SetSelection(HTREEITEM hItem, BOOL bKeepSelection = FALSE);
void SetSelection(HTREEITEM* lphItems, INT iCount, BOOL bKeepSelection = FALSE);
INT GetItemRow(INT iItem);
CArray<INT, INT>* GetItemRowArray();
BOOL SetItemRowArray(CArray<INT, INT>& arrayRows);
BOOL MoveUp(INT iRow);
BOOL MoveDown(INT iRow);
BOOL SetImageList(CImageList* pImageList, CImageList* pCheckList = NULL);
CImageList* GetImageList();
BOOL SetBkImage(UINT nIDResource);
BOOL SetBkImage(LPCTSTR lpszResourceName);
COLORREF GetColor(INT iIndex);
BOOL SetColor(INT iIndex, COLORREF crColor);
BOOL HasFocus();
INT GetCurrentFocus(LPINT lpiColumn = NULL);
BOOL AdjustFocus(INT iRow, INT iColumn = -1);
BOOL HasChildren(HTREEITEM hItem);
BOOL IsChild(HTREEITEM hParent, HTREEITEM hItem);
BOOL IsDescendent(HTREEITEM hParent, HTREEITEM hItem);
CReportHeaderCtrl* GetHeaderCtrl();
BOOL SetReportSubItemListCtrl(CReportSubItemListCtrl* lprsilc);
CReportSubItemListCtrl* GetReportSubItemListCtrl();
BOOL SetSortCallback(LPFNRVCOMPARE lpfnrvc, LPARAM lParam);
LPFNRVCOMPARE GetSortCallback();
BOOL GetSortSettings(INT *lpiSubItem, BOOL *lpbAscending);
BOOL WriteProfile(LPCTSTR lpszSection, LPCTSTR lpszEntry);
BOOL GetProfile(LPCTSTR lpszSection, LPCTSTR lpszEntry);
// Operations
public:
BOOL ModifyStyle(DWORD dwRemove, DWORD dwAdd, UINT nFlags = 0);
INT DefineSubItem(INT iSubItem, LPRVSUBITEM lprvs, BOOL bUpdateList = FALSE);
BOOL RedefineSubItem(INT iSubItem, LPRVSUBITEM lprvs, BOOL bUpdateList = TRUE);
BOOL UndefineSubItem(INT iSubItem);
void UndefineAllSubItems();
INT AddItem(LPCTSTR lpszText, INT iImage = -1, INT iCheck = -1, INT iTextColor = -1);
INT AddItem(LPRVITEM lprvi = NULL);
INT InsertItem(INT iItem, LPCTSTR lpszText, INT iImage = -1, INT iCheck = -1, INT iTextColor = -1);
INT InsertItem(LPRVITEM lprvi);
BOOL DeleteItem(INT iItem);
HTREEITEM InsertItem(LPCTSTR lpszText, INT iImage = -1, INT iCheck = -1, INT iTextColor = -1, HTREEITEM hParent = RVTI_ROOT, HTREEITEM hInsertAfter = RVTI_LAST, INT iSubItem = -1);
HTREEITEM InsertItem(LPRVITEM lprvi, HTREEITEM hParent, HTREEITEM hInsertAfter = RVTI_LAST, INT iSubItem = -1);
BOOL DeleteItem(HTREEITEM hItem);
BOOL DeleteAllItems();
void SetRedraw(BOOL bRedraw = TRUE);
void RedrawItems(INT iFirst, INT iLast = RVI_INVALID);
BOOL EnsureVisible(INT iItem, BOOL bUnobstructed = TRUE);
BOOL EnsureVisible(HTREEITEM hItem, BOOL bUnobstructed = TRUE);
INT InsertColor(INT iIndex, COLORREF crColor);
BOOL DeleteColor(INT iIndex);
void DeleteAllColors();
INT HitTest(LPRV