📄 mylistctrl.cpp
字号:
#include "StdAfx.h"
#include ".\mylistctrl.h"
#include "..\EncryptArithmetic\Encrypt.h"
CEncrypt m_encrypt1;
CMyListCtrl::CMyListCtrl(void)
{
//m_fileOpen=NULL;
}
CMyListCtrl::~CMyListCtrl(void)
{
}
/*
*函数功能:更新LIST
*/
void CMyListCtrl::Update(CString str)
{
//得到LISTCTRL的索引
int index=0;
//得到文件的创建时间
CTime time;
//插入前先删除所有
DeleteAllItems();
//文件查找
CFileFind fileFind;
//标识是否找到当前目录尾部
BOOL bContinue;
//查找文件
bContinue=fileFind.FindFile("*.*");
while(bContinue)
{
// 寻找下一文件
bContinue=fileFind.FindNextFile();
//如果是隐藏的则跳过
if(fileFind.IsHidden()) continue;
//得到文件的名字并插入
str=fileFind.GetFileName();
InsertItem(index,str);
//得到最后修改时间并插入
fileFind.GetLastWriteTime(time);
str=time.Format("%Y年%m月%d日 %H:%M:%S");
SetItemText(index,1,str);
//判断是否是目录
if(fileFind.IsDirectory())
{
SetItemText(index,2,"目录");
}
else//否则插入文件大小
{
int i=fileFind.GetLength();
if(i>1024)
{
str.Format("%d",i/1024);
str+="KB";
}
else
str.Format("%d",i);
SetItemText(index,2,str);
}
//SetItemText(index,3,"否");
index++;
}
}
BEGIN_MESSAGE_MAP(CMyListCtrl, CListCtrl)
ON_WM_LBUTTONDBLCLK()
END_MESSAGE_MAP()
//双击时进行解密操作
void CMyListCtrl::OnLButtonDblClk(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
//对LIST中的相关项进行保存
CString str,str1;
//一个m_fileOpen结点也作指针标识用
//判断表是不是空
int index=GetNextItem(-1,LVNI_SELECTED);
if (index==-1)
return;
str=GetItemText(index,0);
str1=GetItemText(index,2);
//是目录的话就进入下一目录
if(str1=="目录"||str==".."||str==".")
{
m_CurDir=m_CurDir+str;
::SetCurrentDirectory(str);
m_pButton->EnableWindow(1);
}
else
{
if(strlen(m_key)!=0)//如果加密钥匙为空则表示根本没加密不允许打开
{
m_encrypt1.Des_GoFile(str,m_key,1);//解密
::ShellExecute(this->m_hWnd,NULL,str,"open",str,SW_SHOWDEFAULT);
Sleep(1000);
m_encrypt1.Des_GoFile(str,m_key,0);
}
//return;
}
Update(m_CurDir);
CListCtrl::OnLButtonDblClk(nFlags, point);
}
CString CMyListCtrl::GetCurDir(void)//返回当前目录
{
return m_CurDir;
}
void CMyListCtrl::SetKey(char* key)
{
memcpy(m_key,key,16);//设置KEY
}
void CMyListCtrl::SetButton(CButton* pButton)
{
m_pButton=pButton;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -