📄 twostolresultgrid.h
字号:
#ifndef TWOSTOLRESULTGRID_H_
#define TWOSTOLRESULTGRID_H_
class CTwoSToLResultGrid : public CCustomGrid
{
public:
void Init();
enum SORT_TYPE {
ST_NONE,
ST_STATIONNAMES,
ST_STATIONNAMEE,
ST_ROUTENAME,
ST_DIR,
ST_DISTANCE
};
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 sS, CString sE, CString sR, UInt8 dir, UInt8 dist);
void Clear();
void SyncRowCount();
CString GetItemStationS(Int16 i);
CString GetItemStationE(Int16 i);
CString GetItemRoute(Int16 i);
UInt8 GetItemDir(Int16 i);
protected:
struct CItemData {
CString m_StationNameS;
CString m_StationNameE;
CString m_RouteName;
Int8 m_Dir;
Int8 m_Distance;
friend Boolean operator<(const CItemData& rData1, const CItemData& rData2)
{
switch (GetSortType()) {
case ST_STATIONNAMES:
return rData1.m_StationNameS < rData2.m_StationNameS;
break;
case ST_STATIONNAMEE:
return rData1.m_StationNameE < rData2.m_StationNameE;
break;
case ST_ROUTENAME:
return rData1.m_RouteName < rData2.m_RouteName;
break;
case ST_DIR:
return rData1.m_Dir < rData2.m_Dir;
break;
case ST_DISTANCE:
return rData1.m_Distance < rData2.m_Distance;
break;
default:
return true;
break;
}
}
};
static SORT_TYPE m_sortType;
CArray<CItemData> m_arrItems;
CString m_strText;
};
inline CTwoSToLResultGrid::SORT_TYPE CTwoSToLResultGrid::GetSortType()
{
return CTwoSToLResultGrid::m_sortType;
}
#endif/*TWOSTOLRESULTGRID_H_*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -