📄 twostolresultgrid.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 + -