📄 sortheaderctrl.h
字号:
/*----------------------------------------------------------------------
Copyright (C)2001 MJSoft. All Rights Reserved.
This source may be used freely as long as it is not sold for
profit and this copyright information is not altered or removed.
Visit the web-site at www.mjsoft.co.uk
e-mail comments to info@mjsoft.co.uk
File: SortHeaderCtrl.h
Purpose: Provides the header control, with drawing of the arrows, for
the list control.
----------------------------------------------------------------------*/
#ifndef SORTHEADERCTRL_H
#define SORTHEADERCTRL_H
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define WM_SortCtrl_ItemChange (WM_USER+0x1500)
class CSortHeaderCtrl : public CHeaderCtrl
{
// Construction
public:
// 消息参数结构体
typedef struct _message_parameter
{
int nItem;
int nSubItem;
LPCTSTR lpszOldText;
LPCTSTR lpszNewText;
int nImageIndex;
DWORD dwItemData;
} t_MessageParameter;
CSortHeaderCtrl();
// Attributes
public:
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CSortHeaderCtrl)
public:
virtual void Serialize(CArchive& ar);
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~CSortHeaderCtrl();
void SetSortArrow( const int iColumn, const BOOL bAscending );
// Generated message map functions
protected:
void DrawItem( LPDRAWITEMSTRUCT lpDrawItemStruct );
int m_iSortColumn;
BOOL m_bSortAscending;
//{{AFX_MSG(CSortHeaderCtrl)
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
// CComboBoxForListCtrl window
class CComboBoxForListCtrl : public CComboBox
{
// Construction
public:
CComboBoxForListCtrl(int nItem, int nSubItem, CStringArray *pStrAry, CComboBoxForListCtrl **ppCombo);
// Attributes
public:
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CComboBoxForListCtrl)
public:
virtual BOOL PreTranslateMessage(MSG* pMsg);
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~CComboBoxForListCtrl();
// Generated message map functions
protected:
//{{AFX_MSG(CComboBoxForListCtrl)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnNcDestroy();
afx_msg void OnKillFocus(CWnd* pNewWnd);
afx_msg void OnCloseup();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
CStringArray m_StrAry;
BOOL m_bVK_ESCAPE;
int m_nItem, m_nSubItem;
CComboBoxForListCtrl **m_ppCombo;
};
/////////////////////////////////////////////////////////////////////////////
// CEditForListCtrl window
class CEditForListCtrl : public CEdit
{
// Construction
public:
CEditForListCtrl(int nItem, int nSubItem, CString &sContent,CEditForListCtrl **ppEdit);
// Attributes
public:
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CEditForListCtrl)
public:
virtual BOOL PreTranslateMessage(MSG* pMsg);
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~CEditForListCtrl();
// Generated message map functions
protected:
//{{AFX_MSG(CEditForListCtrl)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnKillFocus(CWnd* pNewWnd);
afx_msg void OnNcDestroy();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
BOOL m_bVK_ESCAPE;
int m_nItem, m_nSubItem;
CString m_sContent;
CEditForListCtrl **m_ppEdit;
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // SORTHEADERCTRL_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -