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

📄 twostolresultgrid.cpp

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

#include "Common.h"
#include "TwoSToLResultGrid.h"

CTwoSToLResultGrid::SORT_TYPE CTwoSToLResultGrid::m_sortType = ST_NONE;


void CTwoSToLResultGrid::Init()
{
	
	Attach(TwoSToLRouteResultGadget, TwoSToLStationRouteResultVScrollBar, TwoSToLStationRouteResultHScrollBar);
	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("起始", 55);
	InsertColumn("将到", 55);
	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 CTwoSToLResultGrid::Clear()
{
	m_arrItems.DeleteAll();
	SetRowCount(m_arrItems.GetCount());
}

void CTwoSToLResultGrid::Add(const CString sS, CString sE, CString sR, UInt8 dir, UInt8 dist)
{
	CItemData& rData = m_arrItems.Add();
	rData.m_StationNameS = sS;
	rData.m_StationNameE = sE;
	rData.m_RouteName = sR;
	rData.m_Dir = dir;
	rData.m_Distance = dist;
}

CString CTwoSToLResultGrid::GetItemStationS(Int16 i)
{
	return m_arrItems[i].m_StationNameS;
}

CString CTwoSToLResultGrid::GetItemStationE(Int16 i)
{
	return m_arrItems[i].m_StationNameE;
}

CString CTwoSToLResultGrid::GetItemRoute(Int16 i)
{
	return m_arrItems[i].m_RouteName;
}

UInt8 CTwoSToLResultGrid::GetItemDir(Int16 i)
{
	return m_arrItems[i].m_Dir;
}

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

const Char* CTwoSToLResultGrid::GetItemText(Int16 wRow, Int16 wColumn)
{
	switch (GetColumnID(wColumn)) {
	case 0:
		m_strText.Format("%s", (const Char*)m_arrItems[wRow].m_StationNameS);
		return m_strText;
		break;
	case 1:
		m_strText.Format("%s", (const Char*)m_arrItems[wRow].m_StationNameE);
		return m_strText;
		break;
	case 2:
		m_strText.Format("%s", (const Char*)m_arrItems[wRow].m_RouteName);
		return m_strText;
		break;
	default:
		m_strText.Format("a");
		return m_strText;
		break;
	}
}

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

}


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

⌨️ 快捷键说明

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