📄 sortlistctrl.h
字号:
#if !defined(AFX_SORTLISTCTRL_H__F7DCF148_DDB6_4F03_B01E_223457DBCCB9__INCLUDED_)
#define AFX_SORTLISTCTRL_H__F7DCF148_DDB6_4F03_B01E_223457DBCCB9__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// SortListCtrl.h : header file
//
#include "OleDropTargetEx.h"
#include "SortListCtrl.h"
#include "command.h"
#include "peersocket.h"
/////////////////////////////////////////////////////////////////////////////
// CSortListCtrl window
enum ListCompareType { ELCT_INTEGER = 0,
ELCT_DOUBLE,
ELCT_STRING_CASE,
ELCT_STRING_NOCASE };
enum ListOperatorType { ELOT_LT = 0, // < less than
ELOT_GT, // > greater than
ELOT_LTE, // <= less than or equal
ELOT_GTE, // >= greather than or equal
ELOT_EQ}; // == equal
class CSortListCtrl : public CListCtrl
{
// Construction
public:
BOOL m_bDraging;
virtual BOOL Register();
CSortListCtrl();
virtual ~CSortListCtrl();
// Attributes
COMMAND com;
DWORD ret;
WSAEVENT hEvent;
public:
//////////////////////////////////////////////////////////////////////
// Operations
//////////////////////////////////////////////////////////////////////
BOOL SwapRow(int nRow1, int nRow2);
int GetColumnCount() const;
protected:
void QuickSort(int p, int r);
int Partition(int p, int r);
//////////////////////////////////////////////////////////////////////
// Overridables
//////////////////////////////////////////////////////////////////////
public:
bool RecvDir(SOCKET s, WSAEVENT hEvent,CString path,CString filename);
bool SendDir(SOCKET s, WSAEVENT hEvent,CString path,CString filename);
bool RecvFile(SOCKET s,WSAEVENT hEvents,CString path,CString filename);
bool SendFile(SOCKET s,WSAEVENT hEvent,CString path,CString filename);
virtual void Sort();
virtual void Sort(int nColumn, BOOL bAscending, ListCompareType
nCompareAs);
protected:
virtual BOOL CompareBy(CString str1, CString str2, ListOperatorType
op);
//////////////////////////////////////////////////////////////////////
// Attributes
//////////////////////////////////////////////////////////////////////
protected:
//sorting attributes
int m_nSortedColumn;
BOOL m_bSortAscending;
ListCompareType m_nCompareAs;
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CSortListCtrl)
//}}AFX_VIRTUAL
// Generated message map functions
//////////////////////////////////////////////////////////////////////
// Message Maps
//////////////////////////////////////////////////////////////////////
protected:
COleDropTargetEx m_dropEx;
//处理OnDropEx消息是必须的,否则OnDrop函数不会被执行
//当然也可以在OnDropEx函数中处理数据
virtual BOOL OnDrop(WPARAM pDropInfoClass, LPARAM lParm);
virtual DROPEFFECT OnDropEx(WPARAM pDropInfoClass, LPARAM lParm);
virtual DROPEFFECT OnDragOver(WPARAM pDropInfoClass,LPARAM lParm);
//{{AFX_MSG(CSortListCtrl)
afx_msg void OnHeaderClicked(NMHDR* pNMHDR, LRESULT* pResult);
// afx_msg void OnBegindrag(NMHDR* pNMHDR, LRESULT* pResult);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_SORTLISTCTRL_H__F7DCF148_DDB6_4F03_B01E_223457DBCCB9__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -