routeresultgrid.h

来自「很优秀的公交查询软件」· C头文件 代码 · 共 66 行

H
66
字号
#ifndef	ROUTERESULTGRID_H_
#define	ROUTERESULTGRID_H_


class CRouteResultGrid : public CCustomGrid
{
public:
	void Init();
	enum SORT_TYPE {
		ST_NONE,
		ST_ROUTENAME,
		ST_DIR,
		ST_INDEX
	};
	virtual const Char* GetItemText(Int16 wRow, Int16 wColumn);
	virtual void DrawItem(Int16 wRow, Int16 wColumn, const RectangleType& rcBounds);
	virtual void OnColumnClick(Int16 wColumn);
	static SORT_TYPE GetSortType();
	void Add(const CString s, UInt8 d, UInt8 i);
	void Clear();
	void SyncRowCount();
	CString GetItemString(Int16 i);
	UInt8 GetItemInt(Int16 i);
	
protected:

	struct CItemData {
		CString m_RouteName;
		Int8	m_Dir;
		Int8	m_Index;
		
		friend Boolean operator<(const CItemData& rData1, const CItemData& rData2) 
		{
			switch (GetSortType()) {
			case ST_ROUTENAME:
				return rData1.m_RouteName < rData2.m_RouteName;
				break;
			case ST_DIR:
				return rData1.m_Dir < rData2.m_Dir;
				break;
			case ST_INDEX:
				return rData1.m_Index < rData2.m_Index;
				break;
			default:
				return true;
				break;
			}
		}
	};
	
	
	static SORT_TYPE m_sortType;
	CArray<CItemData>	m_arrItems;
	CString	m_strText;
};

inline CRouteResultGrid::SORT_TYPE CRouteResultGrid::GetSortType() 
{
	return CRouteResultGrid::m_sortType;
}


#endif/*ROUTERESULTGRID_H_*/


⌨️ 快捷键说明

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