📄 webcertmanpage.cpp
字号:
lpItemInfoi->SetImage(5);
m_ListOne.InsertItem(m_ItemInfo[EKEYSUAGE], lpItemInfoi);
}
//添加好记名称
lp = m_ListOne.GetData(m_ItemInfo[FRINEDNAME]);
if(lp!=NULL)
{
lp->SetSubItemText(0, strFrendName);
//m_ListOne.UpdateData(m_ItemInfo[FRINEDNAME], lp); //update internal nodes
}
iGetCurIndex = m_ListOne.GetCurIndex(m_ItemInfo[FRINEDNAME]);
m_ListOne.SetItemText(iGetCurIndex, 1, strFrendName);
//添加密钥长度
lp = m_ListOne.GetData(m_ItemInfo[KEYLEN]);
if(lp!=NULL)
{
lp->SetSubItemText(0, strKeyLen);
//m_ListOne.UpdateData(m_ItemInfo[FRINEDNAME], lp); //update internal nodes
}
iGetCurIndex = m_ListOne.GetCurIndex(m_ItemInfo[KEYLEN]);
m_ListOne.SetItemText(iGetCurIndex, 1, strKeyLen);
//添加申请时间
lp = m_ListOne.GetData(m_ItemInfo[INPUTIME]);
if(lp!=NULL)
{
lp->SetSubItemText(0, strInputTime);
//m_ListOne.UpdateData(m_ItemInfo[FRINEDNAME], lp); //update internal nodes
}
iGetCurIndex = m_ListOne.GetCurIndex(m_ItemInfo[INPUTIME]);
m_ListOne.SetItemText(iGetCurIndex, 1, strInputTime);
//添加有效期
lp = m_ListOne.GetData(m_ItemInfo[CERTDAY]);
if(lp!=NULL)
{
lp->SetSubItemText(0, strDay);
//m_ListOne.UpdateData(m_ItemInfo[FRINEDNAME], lp); //update internal nodes
}
iGetCurIndex = m_ListOne.GetCurIndex(m_ItemInfo[CERTDAY]);
m_ListOne.SetItemText(iGetCurIndex, 1, strDay);
//添加证书类型
lp = m_ListOne.GetData(m_ItemInfo[CERTYPE]);
if(lp!=NULL)
{
lp->SetSubItemText(0, strCertType);
//m_ListOne.UpdateData(m_ItemInfo[FRINEDNAME], lp); //update internal nodes
}
iGetCurIndex = m_ListOne.GetCurIndex(m_ItemInfo[CERTYPE]);
m_ListOne.SetItemText(iGetCurIndex, 1, strCertType);
//添加证书状态
lp = m_ListOne.GetData(m_ItemInfo[CERTSTATE]);
if(lp!=NULL)
{
lp->SetSubItemText(0, strCertState);
lp->SetImage(uCertState);
//m_ListOne.UpdateData(m_ItemInfo[FRINEDNAME], lp); //update internal nodes
//m_ListOne.UpdateData(m_ItemInfo[FRINEDNAME], lp); //update internal nodes
}
iGetCurIndex = m_ListOne.GetCurIndex(m_ItemInfo[CERTSTATE]);
lvItem.iItem = iGetCurIndex;
lvItem.iImage = uCertState;
m_ListOne.SetItem(&lvItem); //更改图标
m_ListOne.SetItemText(iGetCurIndex, 1, strCertState);
//添加证书制作时间
lp = m_ListOne.GetData(m_ItemInfo[MADETIME]);
if(lp!=NULL)
{
lp->SetSubItemText(0, strMadeTime);
//m_ListOne.UpdateData(m_ItemInfo[FRINEDNAME], lp); //update internal nodes
}
iGetCurIndex = m_ListOne.GetCurIndex(m_ItemInfo[MADETIME]);
m_ListOne.SetItemText(iGetCurIndex, 1, strMadeTime);
//添加证书作废时间
lp = m_ListOne.GetData(m_ItemInfo[REVOKETIME]);
if(lp!=NULL)
{
lp->SetSubItemText(0, strRevokeTime);
//m_ListOne.UpdateData(m_ItemInfo[FRINEDNAME], lp); //update internal nodes
}
iGetCurIndex = m_ListOne.GetCurIndex(m_ItemInfo[REVOKETIME]);
m_ListOne.SetItemText(iGetCurIndex, 1, strRevokeTime);
}
//m_ListOne处理******************************end*********************************
m_pRs.MoveNext();
if(m_pRs.IsEof())
break;
}
if(!m_bIsSignleRec)
{
//m_List处理**********************
//定位到当前记录nPageIndex
if(!strUserId.IsEmpty()) //说明是页面切换,只有页面切换时候STRUSERID才不为空
{
LVFINDINFO info;
info.flags = LVFI_STRING;
info.psz = strUserId;
nIndex = m_List.FindItem(&info);
}
if(nIndex != -1)
{
m_List.SetFocus(); //设置选中 2 - 1
m_List.SetItemState(nIndex, LVIS_SELECTED, LVIS_SELECTED); //设置选中 2 - 2
m_List.SetSelectionMark(nIndex);
}
m_List.SetRedraw();
}
else
m_ListOne.SetRedraw();
}
catch(CADOException & eAdo)
{
AddMsg(eAdo.GetErrorMessage(), M_ERROR);
return;
}
m_Slider.SetFocus();
}
void CWebCertManPage::OnDblclkList(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
*pResult = 0;
}
void CWebCertManPage::OnDblclkListOne(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
int nIndex = m_ListOne.GetSelectedItem();
if(nIndex == -1)
return;
CSuperGridCtrl::CTreeItem * pItem = m_ListOne.GetTreeItem(nIndex);
if(!pItem)
return;
BOOL bRedraw=0;
if(m_ListOne.ItemHasChildren(pItem))
{
m_ListOne.SetRedraw(0);
int nScrollIndex=0;
if(m_ListOne.IsCollapsed(pItem))
{
if(m_ListOne.OnItemExpanding(pItem, nIndex))
{
nScrollIndex = m_ListOne.Expand(pItem, nIndex);
m_ListOne.OnItemExpanded(pItem, nIndex);
bRedraw=1;
}
}
else
{
if(m_ListOne.OnCollapsing(pItem))
{
m_ListOne.Collapse(pItem);
m_ListOne.OnItemCollapsed(pItem);
bRedraw=1;
}
}
m_ListOne.SetRedraw(1);
if(bRedraw)
{
CRect rc;
m_ListOne.GetItemRect(nIndex,rc,LVIR_BOUNDS);
m_ListOne.InvalidateRect(rc);
m_ListOne.UpdateWindow();
m_ListOne.EnsureVisible(nScrollIndex,1);
}
}//ItemHasChildren
*pResult = 0;
}
void CWebCertManPage::OnDestroy()
{
CPropertyPage::OnDestroy();
// TODO: Add your message handler code here
try
{
if(m_pDb.IsOpen())
m_pDb.Close();
if(m_pRs.IsOpen())
m_pRs.Close();
}
catch(CADOException & eAdo)
{
AddMsg(eAdo.GetErrorMessage(), M_ERROR);
return;
}
}
void CWebCertManPage::AddMsg(CString info, DWORD type)
{
((CMiniMainDlg *)AfxGetMainWnd())->AddMsg(MiniCT_0003,info, type); //MiniCT_0003
}
void CWebCertManPage::AddList()
{
CItemInfo* lpRoot = new CItemInfo();
lpRoot->SetImage(0);
lpRoot->SetItemText(_T(MiniCT_1108)); //MiniCT_1108
m_pRootItem = m_ListOne.InsertRootItem(lpRoot);//previous on N.Y.P.D we call it CreateTreeCtrl(lp)
if( m_pRootItem == NULL )
return;
CStringArray strArray;
strArray.Add(MiniCT_1109); //USERINFO 0 //MiniCT_1109
strArray.Add(MiniCT_1110); //KEYUSAGE 1 //MiniCT_1110 "密钥用途"
strArray.Add(MiniCT_1111); //EKEYSUAGE 2 //MiniCT_1111 "扩展用途"
strArray.Add(MiniCT_1103); //FRINEDNAME 3 //MiniCT_1103 "好记名称"
strArray.Add(MiniCT_1101); //KEYLEN 4 //MiniCT_1101 "密钥长度"
strArray.Add(MiniCT_1106); //INPUTIME 5 //MiniCT_1106 "申请时间"
strArray.Add(MiniCT_1102); //CERTDAY 6 //MiniCT_1102 "有效期"
strArray.Add(MiniCT_1112); //CERTYPE 7 //MiniCT_1112 "证书类型"
strArray.Add(MiniCT_1113); //CERTSTATE 8 //MiniCT_1113 "证书状态"
strArray.Add(MiniCT_1114); //MADETIME 9 //MiniCT_1114 "制作时间"
strArray.Add(MiniCT_1115); //REVOKETIME 10 //MiniCT_1115 "作废时间"
for(int i = 0; i < ReqMaxEntry; i++)
{
CItemInfo* lpItemInfoi = new CItemInfo();
lpItemInfoi->SetItemText(strArray[i]);
if(i < FRINEDNAME)
{
lpItemInfoi->SetImage(4);
}
else if(i!= 5 && i != 9 && i != 10)
lpItemInfoi->SetImage(5);
else
lpItemInfoi->SetImage(6);
m_ItemInfo[i] = m_ListOne.InsertItem(m_pRootItem, lpItemInfoi, TRUE);
}
}
void CWebCertManPage::OnBcview()
{
// TODO: Add your control notification handler code here
m_bIsSignleRec = !m_bIsSignleRec;
if(m_bIsSignleRec)//多记录->单记录
{
GetDlgItem(IDC_LIST)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_LIST_ONE)->ShowWindow(SW_SHOW);
int nIndex = m_List.GetSelectionMark();
if(nIndex != -1)
{
//取得证书ID
CString strID = m_List.GetItemText(nIndex, 0);
if(!strID.IsEmpty())
{
CString strSql;
strSql.Format("ID = %s", strID);
try
{
m_pRs.FindFirst(strSql);
_variant_t var = m_pRs.GetBookFind();
m_dCurrentPage = var.dblVal;
}
catch(CADOException & eAdo)
{
AddMsg(eAdo.GetErrorMessage(), M_ERROR);
return;
}
}
}
else
{
m_dCurrentPage = 1;
}
GoToPage(m_dCurrentPage);
}
else//单记录->多记录
{
GetDlgItem(IDC_LIST_ONE)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_LIST)->ShowWindow(SW_SHOW);
int iGetCurIndex = m_ListOne.GetCurIndex(m_pRootItem);
CString strId = m_ListOne.GetItemText(iGetCurIndex, 0);
if(strId.GetAt(0) >'0' && strId.GetAt(0) <= '9') //说明为数字
{
CString strSql;
strSql.Format("ID = %s", strId);
UINT uIndex = 1;
try
{
m_pRs.FindFirst(strSql);
_variant_t var = m_pRs.GetBookFind();
if(var.vt)
uIndex = var.dblVal;;
}
catch(CADOException & eAdo)
{
AddMsg(eAdo.GetErrorMessage(), M_ERROR);
return;
}
m_dCurrentPage = (uIndex - 1)/Multi_RecodePerPage + 1;
GoToPage(m_dCurrentPage, strId);
}
}
}
void CWebCertManPage::OnRclickList(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
//判断是否选中证书
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
//判断当时选中几个证书
UINT nSelect = m_List.GetSelectedCount();
//得到序号值,如果不空认为选中证书
CString strID = m_List.GetItemText(pNMListView->iItem,0);
if(strID.IsEmpty())
{
//判断是否选中以作废证书
// CString strName = m_List.GetItemText(pNMListView->iItem, 0);
// if(strName == "已作废证书")
{
// AfxMessageBox("黑名单");
}
return;
}
CPoint pt;
GetCursorPos(&pt); // 当前鼠标坐标
// if(GetCount()<=0)
// return;
BCMenu m_PopMenu;
m_PopMenu.LoadMenu(IDR_MENU_WEBDBMEN);
m_PopMenu.LoadToolbar(IDR_MINICAMENU);
CLanguage::TranslateMenu(&m_PopMenu, MAKEINTRESOURCE(IDR_MENU_WEBDBMEN));
CMenu * pPopup = m_PopMenu.GetSubMenu(0);
SetForegroundWindow(); //点击可以关闭
ASSERT(pPopup);
if(nSelect > 1)
pPopup->EnableMenuItem(ID_MENUITEM_VIEWCERT,MF_GRAYED | MF_BYCOMMAND);//如果选择多个,则屏蔽查看证书选择
UINT nSelection = pPopup->TrackPopupMenu(TPM_LEFTALIGN|TPM_LEFTBUTTON|TPM_VERTICAL|
TPM_NONOTIFY|TPM_RETURNCMD,pt.x, pt.y,this, NULL);
m_PopMenu.DestroyMenu();
try
{
if(nSelection == ID_MENUITEM_MADECSR)//仅制作csr,条件,存在证书申请
{
MadeCsrOnly(strID);
}
else if(nSelection == ID_MENUITEM_MADE)//制作(当前考虑情况,重新制作,为加载CSR)
{
MadeCert(strID, m_pRs);
}
else if(nSelection == ID_MENUITEM_MARKCERT)//标记制作
{
MarkCert(strID);
}
else if(nSelection == ID_MENUITEM_MARKCANCLE)//取消标记
{
CancelMark(strID);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -