本文整理汇总了C++中CArray::SetAt方法的典型用法代码示例。如果您正苦于以下问题:C++ CArray::SetAt方法的具体用法?C++ CArray::SetAt怎么用?C++ CArray::SetAt使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CArray
的用法示例。
在下文中一共展示了CArray::SetAt方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnAddMember
/**
* Function name CObjPropDeclBase::OnAddMember
* Description handler for the add member button
* @return -
* @exception -
* @see -
*/
void CObjPropDeclBase::OnAddMember()
{
CString strName = _T("");
CString strAlias = _T("");
CString strComment = _T("");
CString strType = _T("");
CString strInitVal = _T("");
CString strSclass = _T("");
int iCount = 0;
//OH
CString sIndex = _T("-1");
CString sRange = _T("-1");
CString sHint = _T("No");
CArray<CString, CString>* pDataArray;
pDataArray = new CArray<CString, CString>;
pDataArray->Add(sIndex);
pDataArray->Add(sRange);
pDataArray->Add(sHint);
//
CModifyFbMember aFbMember(m_pszSClasses);
aFbMember.SetParent(this);
switch(aFbMember.DoModal())
{
case IDOK:
aFbMember.GetMemberDecl(strName, strAlias, strComment, strType, strInitVal, strSclass);
if(strName.IsEmpty() || strType.IsEmpty())
{
break;
}
CheckStringValue(strInitVal, strType, TRUE);
iCount = m_FbMembers.GetItemCount();
m_FbMembers.InsertItem(iCount, strSclass);
m_FbMembers.SetItemText(iCount, m_aiCol[COL_NAME], strName);
m_FbMembers.SetItemText(iCount, m_aiCol[COL_ALIAS], strAlias);
m_FbMembers.SetItemText(iCount, m_aiCol[COL_COMMENT], strComment);
m_FbMembers.SetItemText(iCount, m_aiCol[COL_TYPE], strType);
m_FbMembers.SetItemText(iCount, m_aiCol[COL_INITVAL], strInitVal);
sHint = _T("Add");
pDataArray->SetAt(2, sHint);
m_FbMembers.SetItemData(iCount, (DWORD)pDataArray);
break;
case IDCANCEL:
break;
default:
;
}
//select first Item
if(m_FbMembers.GetItemCount() > 0)
{
BOOL bSelected = m_FbMembers.SetItemState(0, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED);
}
return;
}
示例2: Move
// [*] перемещает жест или элемент списка жестов element на родительский уровень parent
void CIdentify::Move(int element, int parent)
{
switch(m_Gestures[element].m_GroupStatus)
{
case 0:// простой жест
{
printArray(m_Gestures,m_nGestures);
CGesture gesture;
gesture=m_Gestures[element];
TRACE(gesture.m_Description);
m_Gestures.InsertAt(parent+1,gesture);
printArray(m_Gestures,m_nGestures);
if(parent>element)
m_Gestures.RemoveAt(element);
else
m_Gestures.RemoveAt(element+1);
printArray(m_Gestures,m_nGestures);
// модифицируем тунель
m_Tunnel.Move(element,1,parent+1);
}
break;
case 1: // группа жестов
{
printArray(m_Gestures,m_nGestures);
int level=0,count=0,i=element;
do
{
switch(m_Gestures[i++].m_GroupStatus)
{
case 0:
break;
case 1:
level++;
break;
case 2:
level--;
break;
}
count++;
}
while(level>0);
CArray<CGesture> group;
group.SetSize(count);
for(i=0;i<count;i++)
group.SetAt(i,m_Gestures[element+i]);
printArray(group,count);
m_Gestures.InsertAt(parent+1,&group);
printArray(m_Gestures,m_nGestures);
if(parent>element)
m_Gestures.RemoveAt(element,count);
else
m_Gestures.RemoveAt(element+count,count);
printArray(m_Gestures,m_nGestures);
// модифицируем тунель
m_Tunnel.Move(element,count,parent+1);
}
break;
default:
ASSERT(FALSE);
}
}
示例3: if
int CDlgBlockAnalysis::ComputeListData(int iCurTab)
{
TYPEANDBLOCK *pType = m_TypeAndBlock->m_ayBlockCalc.GetAt(iCurTab);
CArray<BlockInfo*, BlockInfo*> *pBlock = &pType->ayBlock;
BlockInfo *pCurBlock;
ListDrowData *pListData = m_ayDrowData.GetAt(iCurTab);
CArray<LineDrowData*, LineDrowData*> *pLine = &pListData->ayList;
LineDrowData *pCurLine;
CArray<double, double> ayDouble;
CArray<CodeInfo*, CodeInfo*> *payStock;
CArray<StockUserInfo*, StockUserInfo*> *payCalStock;
CodeInfo *pStock;
CString strStockCode;
int iIend = pType->ayBlock.GetSize(); //相当在LIST表明表中有几行
int iJend = m_AryListColHandName.GetSize(); //相当于在LIST中有几列
int iZend; //当前行的股票数
int f, iFend = pType->ayCalcStock.GetSize(); //当前TAB的所有股票数
double iCheckNum = 0; //流通盘总数
int j;
pListData->iDrowNum = iJend;
ayDouble.SetSize(iJend - 1);
for(int i = 0; i < iIend; i++) //列表中的行数,也就是当前类的板块数
{
pCurLine = pLine->GetAt(i);
pCurLine->ayLine.SetSize(iJend - 1);
for(j = 0; j< iJend - 1; j++)
{
ayDouble.SetAt(j, 0);
pCurLine->ayLine.SetAt(j, 0);
}
pCurBlock = pBlock->GetAt(i);
iZend = pCurBlock->ayStockList.GetSize();
pCurLine->ayLine.SetAt(0, iZend); //股票数
payStock = &(pCurBlock->ayStockList);
payCalStock = &(pType->ayCalcStock);
iCheckNum = 0;
for(int z = 0; z < iZend; z ++) //每一行中,股票的数量
{
pStock = payStock->GetAt(z);
strStockCode.Format("%s", pStock->m_cCode);
//for(f = 0; f < iFend; f ++) //得到当前股票在当前TAB中的索引f
//{
// pCalStock = payCalStock->GetAt(f);
// if(strStockCode.Compare(pCalStock->m_ciStockCode.GetCode()) == 0)
// break;
//}
TabStockSortData* pIndex = m_ayStockIndex.GetAt(iCurTab);
f = GetStockIndex(pIndex, strStockCode);
if(f == -1) //如果没有
continue;
BlockCalcRet *pCalRet = pType->ayCalcRet.GetAt(f);
BlockOtherData *pOtherRet = pType->ayOtherData.GetAt(f);
if( pCalRet->ayValues.GetSize() <= 0 )
continue;
for(j = 2; j < iJend; j++) //对每支股票进行list的列数次计算
{
LISTCOLHANDNAME pHandCol = m_AryListColHandName.GetAt(j);
if(pHandCol.iType == 1) //如果的加权平均
ayDouble[j - 1] += (double)(pCalRet->ayValues.GetAt(j -2))
* (double)(pOtherRet->m_dCapital);
else //否则全部累加
ayDouble[j - 1] += (double)(pCalRet->ayValues.GetAt(j - 2));
}
iCheckNum += pOtherRet->m_dCapital;
}
if(iZend == 0)
continue;
for(j = 2; j < iJend; j++)
{
LISTCOLHANDNAME pHandCol = m_AryListColHandName.GetAt(j);
if(pHandCol.iType == 0)
ayDouble[j - 1] /= iZend;
else if(pHandCol.iType == 1)
ayDouble[j - 1] /= iCheckNum;
pCurLine->ayLine.SetAt(j - 1, ayDouble[j - 1]);
}
int iTransmited = 100 + i * 100 / iIend;
::SendMessage(g_hParentWnd, HX_USER_COMPILEDATA, 13, (LPARAM)iTransmited);
}
::SendMessage(g_hParentWnd, HX_USER_COMPILEDATA, 14, 0);
return 0;
}