📄 sigpropsform.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "SigPropsForm.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TfrmSignaturesProps *frmSignaturesProps;
//---------------------------------------------------------------------------
__fastcall TfrmSignaturesProps::TfrmSignaturesProps(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void TfrmSignaturesProps::Initialize(TElPDFDocument* Document)
{
cbSignatures->Items->Clear();
editAuthorName->Text = "";
editReason->Text = "";
pSignatureInfo->Visible = false;
for (int i = 0; i<Document->SignatureCount; i++)
cbSignatures->Items->AddObject(Document->Signatures[i]->SignatureName, Document->Signatures[i]);
}
//---------------------------------------------------------------------------
void __fastcall TfrmSignaturesProps::cbSignaturesChange(TObject *Sender)
{
if (cbSignatures->ItemIndex != -1)
{
TElPDFSignature* Sig = (TElPDFSignature*)(cbSignatures->Items->Objects[cbSignatures->ItemIndex]);
if (Sig->AuthorName != "")
editAuthorName->Text = Sig->AuthorName;
else
editAuthorName->Text = "<not specified>";
if (Sig->Reason != "")
editReason->Text = Sig->Reason;
else
editReason->Text = "<not specified>";
lTimestamp->Caption = (AnsiString)"Timestamp: " + Sig->SigningTime;
pSignatureInfo->Visible = true;
}
else
pSignatureInfo->Visible = false;
}
//---------------------------------------------------------------------------
void __fastcall TfrmSignaturesProps::btnValidateClick(TObject *Sender)
{
if (cbSignatures->ItemIndex != -1)
{
TElPDFSignature* Sig = (TElPDFSignature*)(cbSignatures->Items->Objects[cbSignatures->ItemIndex]);
if (Sig->Validate())
MessageDlg("The selected signature is VALID", mtInformation, TMsgDlgButtons()<<mbOK, 0);
else
MessageDlg("The selected signature is NOT VALID", mtWarning, TMsgDlgButtons()<<mbOK, 0);
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmSignaturesProps::btnExtractSignedClick(TObject *Sender)
{
if (cbSignatures->ItemIndex != -1)
{
if (SaveDialog->Execute())
{
TFileStream* F = new TFileStream(SaveDialog->FileName, fmCreate);
try
{
TElPDFSignature* Sig = (TElPDFSignature*)(cbSignatures->Items->Objects[cbSignatures->ItemIndex]);
Sig->GetSignedVersion(F);
}
__finally
{
delete F;
}
}
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmSignaturesProps::btnOKClick(TObject *Sender)
{
ModalResult = mrOk;
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -