本文整理汇总了C++中CPDF_FormField::UpdateAP方法的典型用法代码示例。如果您正苦于以下问题:C++ CPDF_FormField::UpdateAP方法的具体用法?C++ CPDF_FormField::UpdateAP怎么用?C++ CPDF_FormField::UpdateAP使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CPDF_FormField
的用法示例。
在下文中一共展示了CPDF_FormField::UpdateAP方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: FDF_ImportField
void CPDF_InterForm::FDF_ImportField(CPDF_Dictionary* pFieldDict,
const CFX_WideString& parent_name,
FX_BOOL bNotify,
int nLevel) {
CFX_WideString name;
if (!parent_name.IsEmpty()) {
name = parent_name + L".";
}
name += pFieldDict->GetUnicodeText("T");
CPDF_Array* pKids = pFieldDict->GetArray("Kids");
if (pKids) {
for (FX_DWORD i = 0; i < pKids->GetCount(); i++) {
CPDF_Dictionary* pKid = pKids->GetDict(i);
if (pKid == NULL) {
continue;
}
if (nLevel <= nMaxRecursion) {
FDF_ImportField(pKid, name, bNotify, nLevel + 1);
}
}
return;
}
if (!pFieldDict->KeyExist("V")) {
return;
}
CPDF_FormField* pField = m_pFieldTree->GetField(name);
if (pField == NULL) {
return;
}
CFX_WideString csWValue;
FPDFDOC_FDF_GetFieldValue(pFieldDict, csWValue, m_bsEncoding);
int iType = pField->GetFieldType();
if (bNotify && m_pFormNotify != NULL) {
int iRet = 0;
if (iType == FIELDTYPE_LISTBOX) {
iRet = m_pFormNotify->BeforeSelectionChange(pField, csWValue);
} else if (iType == FIELDTYPE_COMBOBOX || iType == FIELDTYPE_TEXTFIELD) {
iRet = m_pFormNotify->BeforeValueChange(pField, csWValue);
}
if (iRet < 0) {
return;
}
}
CFX_ByteArray statusArray;
if (iType == FIELDTYPE_CHECKBOX || iType == FIELDTYPE_RADIOBUTTON) {
SaveCheckedFieldStatus(pField, statusArray);
}
pField->SetValue(csWValue);
CPDF_FormField::Type eType = pField->GetType();
if ((eType == CPDF_FormField::ListBox || eType == CPDF_FormField::ComboBox) &&
pFieldDict->KeyExist("Opt")) {
pField->m_pDict->SetAt("Opt",
pFieldDict->GetElementValue("Opt")->Clone(TRUE));
}
if (bNotify && m_pFormNotify != NULL) {
if (iType == FIELDTYPE_CHECKBOX || iType == FIELDTYPE_RADIOBUTTON) {
m_pFormNotify->AfterCheckedStatusChange(pField, statusArray);
} else if (iType == FIELDTYPE_LISTBOX) {
m_pFormNotify->AfterSelectionChange(pField);
} else if (iType == FIELDTYPE_COMBOBOX || iType == FIELDTYPE_TEXTFIELD) {
m_pFormNotify->AfterValueChange(pField);
}
}
if (CPDF_InterForm::m_bUpdateAP) {
pField->UpdateAP(NULL);
}
}