当前位置: 首页>>代码示例>>C++>>正文


C++ CCard::FindFieldByKeyname方法代码示例

本文整理汇总了C++中CCard::FindFieldByKeyname方法的典型用法代码示例。如果您正苦于以下问题:C++ CCard::FindFieldByKeyname方法的具体用法?C++ CCard::FindFieldByKeyname怎么用?C++ CCard::FindFieldByKeyname使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CCard的用法示例。


在下文中一共展示了CCard::FindFieldByKeyname方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: OnClickedBtnOK

void CDlgAddCards::OnClickedBtnOK()
{
	// TODO: 在此添加控件通知处理程序代码	
	//
	int nCnt = m_proCard.GetPropertyCount();
	for( int i = 0; i < nCnt; i++)
	{
		CMFCPropertyGridProperty* pProp = m_proCard.GetProperty(i);
		if(!pProp || FALSE == pProp->IsEnabled())
			continue;
		CCardField* pField = (CCardField*)(pProp->GetData());
		if(!pField)
			continue;
		CString sv = CXxwMfcPub::OleVar2Str(pProp->GetValue());
		string sValue = sv.GetBuffer(0);
		pField->sInstantValue = pField->FormatValue(sValue);//修改值
	}

	for(int r = 0; r < m_lstDevicesSelected.GetItemCount(); ++r)
	{
		CCardLine* pLine = (CCardLine*)(m_lstDevicesSelected.GetItemData(r));
		CCard newCard = m_swiCard;
		for (int i = 0 ; i < m_vecKeynames.size(); i++)
		{
			CCardField* pFld = pLine->m_card.FindFieldByKeyname(m_vecKeynames[i]);
			CCardField* pFldNew = newCard.FindFieldByKeyname(m_vecKeynames[i]);
			if (pFld && pFldNew)
			{
				pFldNew->sInstantValue = pFld->sInstantValue;//替换为选择的值
			}
		}
		CCardLine* pLineNew = theApp.m_parserSwi.AddNewCard(newCard);//添加新卡
		m_AllCardsNew.insert(make_pair(newCard.m_sName, pLineNew));
	}

	// 获得父窗口的句柄
	HWND hWnd = m_pParentWnd->GetSafeHwnd();
	// 向父窗口发送消息
	if (hWnd == NULL) 
		return (void)MessageBox(_T("获得父窗口句柄失败!"));
	::SendNotifyMessage(hWnd,WM_MY_ADDCARDS_OK,(WPARAM)0, (LPARAM)0);

	//从“待选”中删除所有的行
	m_lstDevicesSelected.DeleteAllItems();//删除所有的行
	UpdateBtnOK();

	SetFocus();//获得焦点并显示,以免被隐藏
}
开发者ID:xiongxw,项目名称:20160624_XSwiConfig,代码行数:48,代码来源:DlgAddCards.cpp


注:本文中的CCard::FindFieldByKeyname方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。