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

📄 sort.cpp

📁 3D reconstruction, medical image processing from colons, using intel image processing for based clas
💻 CPP
字号:
// Sort.cpp : implementation file//#include "stdafx.h"#include "Sort.h"#include "UnicodeFunc.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endif/////////////////////////////////////////////////////////////////////////////// RxSort/////////////////////////////////////////////////////////////////////////////// RxSort member functionsRxSort::RxSort(CListCtrl * _pWnd, const int _iCol){	pWnd = _pWnd;			ASSERT(pWnd);		int max = pWnd->GetItemCount();		DWORD dw;	CString txt;				// 酒捞袍 单捞磐甫 CSortitem 备炼眉肺 函券	for( int t = 0 ; t < max ; t++ )	{		dw = pWnd->GetItemData(t); // 唱吝俊 汗备甫 困秦 泅犁 单捞磐 历厘 		txt = pWnd->GetItemText(t, _iCol); 		pWnd->SetItemData(t, (DWORD) new CSortItem(dw, txt));		}}RxSort::~RxSort(){		ASSERT(pWnd);		int max = pWnd->GetItemCount();	CSortItem * pItem;		for( int t = 0 ; t < max ; t++ )	{		pItem = (CSortItem*) pWnd->GetItemData(t);				ASSERT(pItem);		pWnd->SetItemData(t, pItem->dw);		delete pItem;	}}BOOL RxSort::Sort(BOOL _bAsc, EDataType _dtype){		long lParamSort = _dtype;			// lParmSort啊 澜荐捞搁 郴覆 瞒鉴, 剧荐搁 坷抚瞒鉴 	if (!_bAsc)		lParamSort *= -1; 	return pWnd->SortItems(Compare, lParamSort);}int CALLBACK RxSort::Compare(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort){		CSortItem* item1 = (CSortItem*) lParam1;	CSortItem* item2 = (CSortItem*) lParam2;		ASSERT(item1 && item2);			// lParamSort肺 何磐 单捞磐 鸥涝苞 家飘 鉴辑甫 搬沥 	// lParmSort啊 澜荐捞搁 郴覆 瞒鉴, 剧荐搁 坷抚瞒鉴 	short   sOrder = lParamSort < 0 ? -1 : 1; 	EDataType dType  = (EDataType)(lParamSort* sOrder); 		COleDateTime t1, t2;				switch(dType)	{		case  EDataType::dtINT:					return (_ttol(item1->txt) - _ttol(item2->txt))*sOrder;		case  EDataType::dtDOUBLE:					return int((wtof(item1->txt) - wtof(item2->txt))*sOrder);		case  EDataType::dtDEC:			return (wtof(item1->txt) <  wtof(item2->txt) ? -1 : 1)*sOrder;		case  EDataType::dtDATETIME:			if (t1.ParseDateTime(item1->txt) && t2.ParseDateTime(item2->txt))				return (t1 < t2 ? -1 : 1 )*sOrder;					else				return 0;		case  EDataType::dtSTRING:			return item1->txt.CompareNoCase(item2->txt)*sOrder;		default:					ASSERT("Error: attempt to sort a column without type.");			return 0;	}}RxSort::CSortItem::CSortItem(const DWORD _dw, const CString & _txt){	dw  = _dw;		txt = _txt;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -