本文整理汇总了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();//获得焦点并显示,以免被隐藏
}