⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sortlistctrl.h

📁 一个不错的远程控制软件源码
💻 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 + -