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

📄 routeresultgrid.cpp

📁 很优秀的公交查询软件
💻 CPP
字号:

#include "Common.h"
#include "RouteResultGrid.h"

CRouteResultGrid::SORT_TYPE CRouteResultGrid::m_sortType = ST_NONE;


void CRouteResultGrid::Init()
{
	
	Attach(StationRouteResultGadget, StationRouteResultVScrollBar, StationRouteResultHScrollBar);
	SetGridStyle(CCustomGrid::GS_DRAWBORDER |
//				 CCustomGrid::GS_USESTATUSCOLUMN |
				 CCustomGrid::GS_USEHEADER |
				 CCustomGrid::GS_DIVIDEROWS |
				 CCustomGrid::GS_DIVIDECOLUMNS |
				 CCustomGrid::GS_GRAYLINES |
				 CCustomGrid::GS_HANDLESCROLLKEYS |
				 CCustomGrid::GS_RESIZABLECOLUMNS);
	SetGridMode(CCustomGrid::GM_FULLROWSELECT);

	InsertColumn("路线名", 80);
	InsertColumn("方向", 35);
	InsertColumn("第几", 35);
	
	SetColumnStyle(0, CCustomGrid::CS_VISIBLE | CCustomGrid::CS_SORTABLE);
	SetColumnStyle(1, CCustomGrid::CS_VISIBLE | CCustomGrid::CS_SORTABLE);
	SetColumnStyle(2, CCustomGrid::CS_VISIBLE | CCustomGrid::CS_SORTABLE);
	
/*	
	for (int i = 0; i < 30; i++) {
		CItemData& rData = m_arrItems.Add();
		rData.m_RouteName.Format("s%d", i);
		rData.m_Dir = i / 15;
		rData.m_Index = i;
	}
*/
	SetRowCount(0);
	OnColumnClick(2);
}

void CRouteResultGrid::Clear()
{
	m_arrItems.DeleteAll();
	SetRowCount(m_arrItems.GetCount());
}

void CRouteResultGrid::Add(const CString s, UInt8 d, UInt8 i)
{
	CItemData& rData = m_arrItems.Add();
	rData.m_RouteName = s;
	rData.m_Dir = d;
	rData.m_Index = i;
}

CString CRouteResultGrid::GetItemString(Int16 i)
{
	return m_arrItems[i].m_RouteName;
}

UInt8 CRouteResultGrid::GetItemInt(Int16 i)
{
	return m_arrItems[i].m_Dir;
}

void CRouteResultGrid::SyncRowCount()
{
	SetRowCount(m_arrItems.GetCount());
}

const Char* CRouteResultGrid::GetItemText(Int16 wRow, Int16 wColumn)
{
	switch (GetColumnID(wColumn)) {
	case 0:
		m_strText.Format("%s", (const Char*)m_arrItems[wRow].m_RouteName);
		return m_strText;
		break;
	case 1:
		m_strText.Format("%s", ((0 == m_arrItems[wRow].m_Dir)? "上行": "下行"));
		return m_strText;
		break;
	case 2:
		m_strText.Format("%d", m_arrItems[wRow].m_Index + 1);
		return m_strText;
		break;
	default:
		m_strText.Format("");
		return m_strText;
		break;
	}
}

void CRouteResultGrid::DrawItem(Int16 wRow, Int16 wColumn, const RectangleType& rcBounds)
{
	CCustomGrid::DrawItem(wRow, wColumn, rcBounds);

}


void CRouteResultGrid::OnColumnClick(Int16 wColumn)
{
	Int16 wOrderedColumn;
	Boolean bAscending;
	
	switch (wColumn) {
	case 0:
		m_sortType = ST_ROUTENAME;
		break;
	case 1:
		m_sortType = ST_DIR;
		break;
	case 2:
		m_sortType = ST_INDEX;
		break;
	default:
		m_sortType = ST_NONE;
	}
	GetOrderedColumn(wOrderedColumn, bAscending);
	m_arrItems.Sort(bAscending);
}

⌨️ 快捷键说明

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