资源简介
利用VC中的Treeview和Listview,做一个自己的资源管理器,左侧的树状目录可以关闭,当点击一个文件夹时右侧的Listview中会显示文件夹的内容。尽量模仿windows的资源管理器的功能,比如左侧文件夹图标的变化和右侧listview中可以显示“列表”,“详细资料”。
代码片段和文件信息
// DirListCtrl.cpp : implementation file
//
#include “stdafx.h“
#include “MyExplorer.h“
#include “DirListCtrl.h“
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDirListCtrl
CDirListCtrl::CDirListCtrl()
{
}
CDirListCtrl::~CDirListCtrl()
{
}
BEGIN_MESSAGE_MAP(CDirListCtrl CListCtrl)
//{{AFX_MSG_MAP(CDirListCtrl)
ON_WM_RBUTTONDOWN()
ON_COMMAND(IDM_EDIT_COPY OnEditCopy)
ON_COMMAND(IDM_EIDT_CUT OnEidtCut)
ON_COMMAND(IDM_EDIT_PASTE OnEditPaste)
ON_COMMAND(IDM_EDIT_DELETE OnEditDelete)
ON_NOTIFY_REFLECT(LVN_ITEMCHANGED OnItemchanged)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDirListCtrl message handlers
void CDirListCtrl::SetFolder(CString sFile)
{
int index;
if (sFile == ““) return ; //如果地址为空,则返回
m_strPath = sFile;
CImageList * imageList = m_SysImageList.GetImageList( FALSE );
SetImageList(imageList LVSIL_NORMAL);
CFileFind finder;
int bWorking = finder.FindFile(sFile+“*.*“);
if( bWorking ) {
DeleteAllItems();
}
else return;
while( bWorking ) {
bWorking = finder.FindNextFile();
if(!finder.IsDots())
{
HICON icon = m_SysImageList.GetIcon(sFile+finder.GetFileName()FALSEFALSE);
index = imageList->Add(icon);
InsertItem( 1 sFile+finder.GetFileName() index );
}
}
}
void CDirListCtrl::OnRButtonDown(UINT nFlags CPoint point)
{
CListCtrl::OnRButtonDown(nFlags point);
CRect rect;
GetWindowRect(&rect);
if(!GetSelectedCount()) {
return;
}
else {
CMenu * m_PopMenu = new CMenu;
m_PopMenu->LoadMenu(IDR_MENU_MAINframe);
TrackPopupMenu(m_PopMenu->GetSubMenu(1)->m_hMenu 0
point.x+rect.left point.y+rect.top
0 this->GetSafeHwnd()&rect);
}
}
void CDirListCtrl::OnEditCopy()
{
strSrcPath = strSelItemPath;
strDesPath = ““;
nOption = 1;
}
void CDirListCtrl::OnEidtCut()
{
strSrcPath = strSelItemPath;
strDesPath = ““;
nOption = 2;
}
void CDirListCtrl::OnEditPaste()
{
strDesPath = m_strPath;
CString msg;
msg += “源文件:“;
msg += strSrcPath;
msg += “\n“;
msg += “目标文件:“;
msg += strDesPath;
msg += “\n“;
if(nOption == 1) {
if(CopyFile(strSrcPathstrDesPathFALSE)) {
msg += “文件拷贝成功!“;
MessageBox(msg);
}
else {
msg += “文件拷贝失败!“;
MessageBox(msg);
}
}
else if(nOption == 2) {
if(MoveFile(strSrcPathstrDesPath)) {
msg += “文件移动成功!“;
MessageBox(msg);
}
else {
msg += “文件移动失败!“;
MessageBox(msg);
}
}
}
void CDirListCtrl::OnEditDelete()
{
strSrcPath = strSelItemPath;
CString msg;
msg += “源文件:“;
msg += strSrcPath;
msg += “\n“;
if(DeleteFile(strSrcPath)) {
msg += “文件删除成功!“;
MessageBox(msg);
}
else {
msg += “文件删除失败!“;
MessageBox(msg);
}
}
void CDirListCtrl::O
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 29302 2010-09-24 20:20 P031M资源管理器\Debug\DirListCtrl.obj
文件 39997 2010-09-24 20:20 P031M资源管理器\Debug\DirTreeCtrl.obj
文件 2125927 2010-09-24 20:36 P031M资源管理器\Debug\MyExplorer.exe
文件 2504868 2010-09-24 20:36 P031M资源管理器\Debug\MyExplorer.ilk
文件 14447 2010-09-24 20:20 P031M资源管理器\Debug\MyExplorer.obj
文件 5466844 2010-09-24 20:20 P031M资源管理器\Debug\MyExplorer.pch
文件 4121600 2010-09-24 20:36 P031M资源管理器\Debug\MyExplorer.pdb
文件 8736 2010-09-24 20:36 P031M资源管理器\Debug\MyExplorer.res
文件 34590 2010-09-24 20:20 P031M资源管理器\Debug\MyExplorerDlg.obj
文件 105867 2010-09-24 20:20 P031M资源管理器\Debug\StdAfx.obj
文件 12575 2010-09-24 20:20 P031M资源管理器\Debug\SystemImageList.obj
文件 214016 2010-09-25 02:07 P031M资源管理器\Debug\vc60.idb
文件 364544 2010-09-24 20:20 P031M资源管理器\Debug\vc60.pdb
文件 3265 2010-09-24 20:20 P031M资源管理器\DirListCtrl.cpp
文件 1549 2010-09-24 20:20 P031M资源管理器\DirListCtrl.h
文件 7623 2010-09-24 20:20 P031M资源管理器\DirTreeCtrl.cpp
文件 2004 2010-09-24 20:20 P031M资源管理器\DirTreeCtrl.h
文件 21392 2010-09-25 02:06 P031M资源管理器\MyExplorer.aps
文件 1216 2010-09-24 20:37 P031M资源管理器\MyExplorer.clw
文件 2119 2010-09-24 20:20 P031M资源管理器\MyExplorer.cpp
文件 4534 2010-09-24 20:20 P031M资源管理器\MyExplorer.dsp
文件 543 2010-09-24 20:20 P031M资源管理器\MyExplorer.dsw
文件 1368 2010-09-24 20:20 P031M资源管理器\MyExplorer.h
文件 140288 2010-09-25 02:07 P031M资源管理器\MyExplorer.ncb
文件 83968 2010-09-25 02:07 P031M资源管理器\MyExplorer.opt
文件 254 2010-09-25 02:07 P031M资源管理器\MyExplorer.plg
文件 5557 2010-09-24 20:36 P031M资源管理器\MyExplorer.rc
文件 6089 2010-09-24 20:20 P031M资源管理器\MyExplorerDlg.cpp
文件 1787 2010-09-24 20:20 P031M资源管理器\MyExplorerDlg.h
文件 3651 2010-09-24 20:20 P031M资源管理器\ReadMe.txt
............此处省略14个文件信息
- 上一篇:protege中文指导手册
- 下一篇:vs90_piaredist
相关资源
- 基于web的仓库管理系统
- GB0 371 381 391 华三se认证考试题库加
- dlib 32位库 19.10.0_release_32bit_msvc1913.l
- sift算法VC实现需要OPENCV
- VCDS 5053 1.96固件可升级5053线支持最新
- VC使用vfw控制摄像头拍照的程序
- Spring+SpringMVC+Mybatis SSM三大框架的运行
- 电梯调度操作系统模拟线程管理
- 用VC和opengl开发的模仿cs的小游戏
- ISOdata算法 vc实现
- VC%2B%2B书店管理系统
- vc实现向指定ip端口发送数据或文件,
- 703N Openwrt固件 UVC免驱摄像头WIFI智能小
- 整车控制器VCU程序代码
- opengl实现的太阳系
- vcChinesecheckers.zip
- SpringMVC_Spring_mybatis.zip
- 运用定时器函数制作计时器
- 使用winring监控cpu温度
- UVCUSB Video Class规范
- libsndfile的vs2010工程
- VC编写的超级记事本程序
-
个人消费记录VCxm
l课程设计 - SVC通用资料\\静止型动态无功补偿系统
- Spring+SpringMVC+Mybatis最简单的整合
- 宿舍管理系统源代码+论文 有图形界面
- directshow实现的视频采集程序AVCap
- vce考试模拟器+题目编辑器.zip
-
em
beddedWB (em bedded Web Browser) 17 - SpringMVC demo 完整源码
评论
共有 条评论