#include "StdAfx.h" #include "MatchListControl.h" ////////////////////////////////////////////////////////////////////////////////// //构造函数 CMatchListControl::CMatchListControl() { } //析构函数 CMatchListControl::~CMatchListControl() { } //配置列表 VOID CMatchListControl::InitListControl() { //变量定义 INT nColIndex=0; //配置列表 InsertColumn(nColIndex++,TEXT("比赛名称"),LVCFMT_LEFT,90); InsertColumn(nColIndex++,TEXT("比赛类型"),LVCFMT_LEFT,90); InsertColumn(nColIndex++,TEXT("扣费类型"),LVCFMT_CENTER,80); InsertColumn(nColIndex++,TEXT("报名费用"),LVCFMT_CENTER,60); InsertColumn(nColIndex++,TEXT("报名条件"),LVCFMT_CENTER,60); return; } //子项排序 INT CMatchListControl::SortListItemData(LPARAM lParam1, LPARAM lParam2, WORD wColumnIndex) { //变量定义 tagGameMatchOption * pGameMatchOption1=(tagGameMatchOption *)lParam1; tagGameMatchOption * pGameMatchOption2=(tagGameMatchOption *)lParam2; //子项排序 switch (wColumnIndex) { case 0: //比赛名称 { return lstrcmp(pGameMatchOption1->szMatchName,pGameMatchOption2->szMatchName); } case 1: //比赛类型 { return pGameMatchOption1->cbMatchType>pGameMatchOption2->cbMatchType?SORT_POSITION_AFTER:SORT_POSITION_FRONT; } //case 1: //开始日期 // { // //构造时间 // CTime StartTime1(pGameMatchOption1->MatchStartTime); // CTime StartTime2(pGameMatchOption2->MatchStartTime); // return StartTime1>StartTime2?SORT_POSITION_AFTER:SORT_POSITION_FRONT;; // } //case 2: //结束日期 // { // //构造时间 // CTime EndTime1(pGameMatchOption1->MatchEndTime); // CTime EndTime2(pGameMatchOption2->MatchEndTime); // return EndTime1>EndTime2?SORT_POSITION_AFTER:SORT_POSITION_FRONT;; // } case 2: //扣费类型 { return pGameMatchOption1->cbMatchFeeTypecbMatchFeeType?SORT_POSITION_AFTER:SORT_POSITION_FRONT; } case 3: //比赛费用 { return pGameMatchOption1->lMatchFee>pGameMatchOption2->lMatchFee?SORT_POSITION_AFTER:SORT_POSITION_FRONT; } case 4: //报名条件 { return pGameMatchOption1->cbMemberOrder>pGameMatchOption2->cbMemberOrder?SORT_POSITION_AFTER:SORT_POSITION_FRONT; } //case 6: //淘汰分数 // { // return pGameMatchOption1->lMatchCullScore>pGameMatchOption2->lMatchCullScore?SORT_POSITION_AFTER:SORT_POSITION_FRONT; // } //case 7: //游戏局数 // { // return pGameMatchOption1->wMatchPlayCount>pGameMatchOption2->wMatchPlayCount?SORT_POSITION_AFTER:SORT_POSITION_FRONT; // } //case 8: //奖励内容 // { // return lstrcmp(pGameMatchOption1->szMatchAwardContent,pGameMatchOption2->szMatchAwardContent); // } //case 9: //比赛内容 // { // return lstrcmp(pGameMatchOption1->szMatchContent,pGameMatchOption2->szMatchContent); // } } return 0; } //获取颜色 VOID CMatchListControl::GetListItemColor(LPARAM lItemParam, UINT uItemStatus, tagListItemColor & ListItemColor) { //变量定义 ASSERT(lItemParam!=NULL); //设置颜色 ListItemColor.rcBackColor=(uItemStatus&ODS_SELECTED)?RGB(0,0,128):CR_NORMAL_BK; ListItemColor.rcTextColor=(uItemStatus&ODS_SELECTED)?RGB(255,255,255):RGB(0,0,0); return; } //插入列表 bool CMatchListControl::InsertMatchOption(tagGameMatchOption * pGameMatchOption) { //变量定义 LVFINDINFO FindInfo; ZeroMemory(&FindInfo,sizeof(FindInfo)); //设置变量 FindInfo.flags=LVFI_PARAM; FindInfo.lParam=(LPARAM)pGameMatchOption; //存在判断 INT nInsertItem=FindItem(&FindInfo); if (nInsertItem!=LB_ERR) return true; //插入列表 for (WORD i=0;iszMatchName,pGameMatchTemp->szMatchName)<0) { return i; } } return nItemCount; } //描述字符 LPCTSTR CMatchListControl::GetDescribeString(tagGameMatchOption * pGameMatchOption, WORD wColumnIndex) { //变量定义 static TCHAR szDescribe[128]=TEXT(""); //构造字符 switch (wColumnIndex) { case 0: //比赛名称 { return pGameMatchOption->szMatchName; } case 1: //比赛类型 { //变量定义 //LPCTSTR pszMatchType[] = {TEXT("定时赛"),TEXT("即时赛")}; LPCTSTR pszMatchType[] = { TEXT("定局赛"), TEXT("即时赛") }; //判断索引 if(pGameMatchOption->cbMatchTypecbMatchType]); } return szDescribe; } case 2: //比赛费用 { if(pGameMatchOption->cbMatchFeeType==MATCH_FEE_TYPE_GOLD) { _sntprintf_s(szDescribe,CountArray(szDescribe),TEXT("金币")); } else if(pGameMatchOption->cbMatchFeeType==MATCH_FEE_TYPE_MEDAL) { _sntprintf_s(szDescribe,CountArray(szDescribe),TEXT("奖牌")); } return szDescribe; } case 3: //比赛费用 { _sntprintf_s(szDescribe,CountArray(szDescribe),TEXT("%d"),pGameMatchOption->lMatchFee); return szDescribe; } case 4: //报名条件 { //变量定义 LPCTSTR pszMemberOrder[] = {TEXT("所有玩家"),TEXT("蓝钻会员"),TEXT("黄钻会员"),TEXT("白钻会员"),TEXT("红钻会员"),TEXT("VIP会员"),TEXT("晋级人员")}; //判断索引 if(pGameMatchOption->cbMemberOrdercbMemberOrder]); } return szDescribe; } //case 1: //开始日期 // { // CTime StartTime= CTime(pGameMatchOption->MatchStartTime); // lstrcpyn(szDescribe,StartTime.Format(TEXT("%Y-%m-%d %H:%M:%S")),CountArray(szDescribe)); // return szDescribe; // } //case 2: //结束日期 // { // CTime EndTime= CTime(pGameMatchOption->MatchEndTime); // lstrcpyn(szDescribe,EndTime.Format(TEXT("%Y-%m-%d %H:%M:%S")),CountArray(szDescribe)); // return szDescribe; // } //case 3: //比赛费用 // { // if(pGameMatchOption->cbMatchFeeType==MATCH_FEE_TYPE_GOLD) // { // _sntprintf_s(szDescribe,CountArray(szDescribe),TEXT("金币")); // } // else if(pGameMatchOption->cbMatchFeeType==MATCH_FEE_TYPE_MEDAL) // { // _sntprintf_s(szDescribe,CountArray(szDescribe),TEXT("奖牌")); // } // return szDescribe; // } //case 4: //比赛费用 // { // _sntprintf_s(szDescribe,CountArray(szDescribe),TEXT("%d"),pGameMatchOption->lMatchFee); // return szDescribe; // } //case 5: //初始分数 // { // _sntprintf_s(szDescribe,CountArray(szDescribe),TEXT("%d"),pGameMatchOption->lMatchInitScore); // return szDescribe; // } //case 6: //淘汰分数 // { // _sntprintf_s(szDescribe,CountArray(szDescribe),TEXT("%d"),pGameMatchOption->lMatchCullScore); // return szDescribe; // } //case 7: //游戏局数 // { // _sntprintf_s(szDescribe,CountArray(szDescribe),TEXT("%d"),pGameMatchOption->wMatchPlayCount); // return szDescribe; // } //case 8: //奖励内容 // { // return pGameMatchOption->szMatchAwardContent; // } //case 9: //比赛内容 // { // return pGameMatchOption->szMatchContent; // } } return NULL; } //////////////////////////////////////////////////////////////////////////////////