// MainFrm.cpp : implementation of the CMainFrame class
//
#include "stdafx.h"
#include "FileSys.h"
#include "DirView.h"
#include "FileIconView.h"
#include "FileListView.h"
#include "FileDetailView.h"
#include "InputDlg.h"
#include "NewExeDlg.h"
#include "FileOpenDlg.h"
#include "FileAttribDlg.h"
#include "DirAttribDlg.h"
#include "ItemAttribDlg.h"
#include "RunDlg.h"
#include "MainFrm.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMainFrame
CMainFrame *pWnd ;
IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
ON_WM_CREATE()
ON_COMMAND(ID_VIEW_ICON, OnViewIcon)
ON_COMMAND(ID_VIEW_LIST, OnViewList)
ON_COMMAND(ID_VIEW_TREE, OnViewTree)
ON_COMMAND(ID_VIEW_DETAIL, OnViewDetail)
ON_COMMAND(IDC_BUTTON_GO, OnButtonGo)
ON_UPDATE_COMMAND_UI(ID_VIEW_ICON, OnUpdateViewIcon)
ON_UPDATE_COMMAND_UI(ID_VIEW_LIST, OnUpdateViewList)
ON_UPDATE_COMMAND_UI(ID_VIEW_DETAIL, OnUpdateViewDetail)
ON_UPDATE_COMMAND_UI(ID_VIEW_TREE, OnUpdateViewTree)
ON_WM_SIZE()
ON_COMMAND(ID_EDIT_NEW_FILE, OnEditNewFile)
ON_UPDATE_COMMAND_UI(ID_VIEW_ADDRESS, OnUpdateViewAddress)
ON_COMMAND(ID_VIEW_ADDRESS, OnViewAddress)
ON_COMMAND(ID_EDIT_NEW_DIR, OnEditNewDir)
ON_UPDATE_COMMAND_UI(ID_EDIT_NEW_DIR, OnUpdateEditNewDir)
ON_UPDATE_COMMAND_UI(ID_EDIT_NEW_FILE, OnUpdateEditNewFile)
ON_UPDATE_COMMAND_UI(ID_EDIT_OPEN, OnUpdateEditOpen)
ON_UPDATE_COMMAND_UI(ID_EDIT_OPEN_DIR, OnUpdateEditOpenDir)
ON_UPDATE_COMMAND_UI(ID_EDIT_ATTRIB, OnUpdateEditAttrib)
ON_UPDATE_COMMAND_UI(ID_EDIT_DEL_DIR, OnUpdateEditDelDir)
ON_UPDATE_COMMAND_UI(IDC_EDIT_DELETE, OnUpdateEditDelete)
ON_COMMAND(IDC_EDIT_DELETE, OnEditDelete)
ON_COMMAND(ID_EDIT_OPEN, OnEditOpen)
ON_COMMAND(ID_EDIT_OPEN_DIR, OnEditOpenDir)
ON_COMMAND(ID_EDIT_DEL_DIR, OnEditDelDir)
ON_COMMAND(ID_EDIT_ATTRIB, OnEditAttrib)
ON_COMMAND(ID_EDIT_DELETE, OnEditDeleteSel)
ON_UPDATE_COMMAND_UI(ID_EDIT_DELETE, OnUpdateEditDeleteSel)
ON_UPDATE_COMMAND_UI(ID_EDIT_NEW_EXE_FILE, OnUpdateEditNewExeFile)
ON_COMMAND(ID_EDIT_NEW_EXE_FILE, OnEditNewExeFile)
ON_COMMAND(ID_POP_OPEN, OnPopOpen)
ON_UPDATE_COMMAND_UI(ID_POP_OPEN, OnUpdatePopOpen)
ON_COMMAND(ID_POP_RUN, OnPopRun)
ON_UPDATE_COMMAND_UI(ID_POP_RUN, OnUpdatePopRun)
ON_UPDATE_COMMAND_UI(ID_EDIT_COPY, OnUpdateEditCopy)
ON_COMMAND(ID_EDIT_COPY, OnEditCopy)
ON_UPDATE_COMMAND_UI(ID_EDIT_CUT, OnUpdateEditCut)
ON_COMMAND(ID_EDIT_CUT, OnEditCut)
ON_UPDATE_COMMAND_UI(ID_EDIT_PASTE, OnUpdateEditPaste)
ON_COMMAND(ID_EDIT_PASTE, OnEditPaste)
ON_UPDATE_COMMAND_UI(ID_VIEW_GOTO_UP, OnUpdateViewGotoUp)
ON_UPDATE_COMMAND_UI(ID_VIEW_GOTO_FORWARD, OnUpdateViewGotoForward)
ON_UPDATE_COMMAND_UI(ID_VIEW_GOTO_BACK, OnUpdateViewGotoBack)
ON_UPDATE_COMMAND_UI(ID_VIEW_SELECTALL, OnUpdateViewSelectall)
ON_COMMAND(ID_VIEW_GOTO_BACK, OnViewGotoBack)
ON_COMMAND(ID_VIEW_GOTO_FORWARD, OnViewGotoForward)
ON_COMMAND(ID_VIEW_GOTO_UP, OnViewGotoUp)
ON_COMMAND(ID_VIEW_INVERT_SELECT, OnViewInvertSelect)
ON_UPDATE_COMMAND_UI(ID_VIEW_INVERT_SELECT, OnUpdateViewInvertSelect)
ON_COMMAND(ID_VIEW_SELECTALL, OnViewSelectall)
ON_CBN_DROPDOWN(IDC_COMBOBOX1, OnDropdownCombobox1)
ON_CBN_CLOSEUP(IDC_COMBOBOX1, OnCloseupCombobox1)
ON_WM_SHOWWINDOW()
ON_UPDATE_COMMAND_UI(ID_VIEW_REFRESH, OnUpdateViewRefresh)
ON_COMMAND(ID_VIEW_REFRESH, OnViewRefresh)
ON_UPDATE_COMMAND_UI(ID_EDIT_MOVE_TRASH, OnUpdateEditMoveTrash)
ON_COMMAND(ID_EDIT_MOVE_TRASH, OnEditMoveTrash)
ON_UPDATE_COMMAND_UI(ID_EDIT_TRASH_RESTORE, OnUpdateEditTrashRestore)
ON_COMMAND(ID_EDIT_TRASH_RESTORE, OnEditTrashRestore)
ON_UPDATE_COMMAND_UI(ID_EDIT_TRASH_EMPTY, OnUpdateEditTrashEmpty)
ON_COMMAND(ID_EDIT_TRASH_EMPTY, OnEditTrashEmpty)
ON_UPDATE_COMMAND_UI(ID_EDIT_RENAME, OnUpdateEditRename)
ON_COMMAND(ID_EDIT_RENAME, OnEditRename)
ON_MESSAGE(WM_SPLITTED,OnSplitting)
ON_BN_CLICKED(IDC_BUTTON_GO, OnButtonGo)
ON_UPDATE_COMMAND_UI(ID_EDIT_ENCRYPT, OnUpdateEditEncrypt)
ON_COMMAND(ID_EDIT_ENCRYPT, OnEditEncrypt)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
static UINT indicators[] =
{
ID_SEPARATOR, // status line indicator
ID_INDICATOR_CAPS,
ID_INDICATOR_NUM,
ID_INDICATOR_SCRL,
};
/////////////////////////////////////////////////////////////////////////////
// CMainFrame construction/destruction
CMainFrame::CMainFrame()
{
iShowCmd = SW_SHOW;
m_bSplitterCreated = FALSE;
szCurUsrID.Empty();
}
CMainFrame::~CMainFrame()
{
}
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
TRACE0("创建工具栏失败\n");
return -1; // fail to create
}
if (!m_wndAddrBar.Create(this, IDD_DIALOGBAR, WS_CHILD| CBRS_TOP| CBRS_GRIPPER//| CBRS_TOOLTIPS
|CBRS_FLYBY| CBRS_SIZE_DYNAMIC, IDD_DIALOGBAR ))
{
TRACE0("创建地址栏失败\n");
return -1; // fail to create
}
if (!m_wndStatusBar.Create(this) ||
!m_wndStatusBar.SetIndicators(indicators,
sizeof(indicators)/sizeof(UINT)))
{
TRACE0("创建状态栏失败\n");
return -1; // fail to create
}
// TODO: Delete these three lines if you don't want the toolbar to be dockable
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
m_wndAddrBar.EnableDocking(CBRS_ALIGN_TOP);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);
DockControlBar(&m_wndAddrBar);
pWnd = this;
m_iter = m_RecentList.begin();
m_bManuSelect = FALSE;
CString strFile="data.mdb";
while(1)
{
CString strCon = "Driver=Microsoft Access Driver (*.mdb);DBQ="+strFile+";UID=admin;PSW=;Persist Security Info=False";
pWnd->m_db.OpenEx(strCon,CDatabase::noOdbcDialog|CDatabase::openExclusive);
if(!pWnd->m_db.IsOpen())
{
if(MessageBox("Fail to connect to db server! make sure the db file exists. \nTry again?",NULL,MB_ICONSTOP|MB_YESNO)!=IDYES) exit(0);
CFileDialog dlg(true);
if(dlg.DoModal()!=IDOK)exit(0);
strFile = dlg.GetPathName();
}
else break;
}
m_rs.m_pDatabase = &m_db;
m_rs2.m_pDatabase = &m_db;
if(m_image.m_hImageList) m_image.DeleteImageList();
m_image.Create(32,32,ILC_COLOR32|TRUE,8,8);
m_image.Add(LoadIcon(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_DESKTOP))); //0
m_image.Add(LoadIcon(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ROOT2))); //1
m_image.Add(LoadIcon(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ROOT1))); //2
m_image.Add(LoadIcon(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_DIR1))); //3
m_image.Add(LoadIcon(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_DIR2))); //4
m_image.Add(LoadIcon(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_FILE1))); //5
m_image.Add(LoadIcon(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_FILE2))); //6
m_image.Add(LoadIcon(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_TRASH1))); //7
m_image.Add(LoadIcon(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_TRASH2))); //8
if(m_bitimage.m_hImageList) m_bitimage.DeleteImageList();
m_bitimage.Create(16,16,ILC_COLOR16|TRUE,8,8);
m_bitimage.Add(LoadIcon(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_DESKTOP)));
m_bitimage.Add(LoadIcon(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ROOT2)));
m_bitimage.Add(LoadIcon(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ROOT1)));
m_bitimage.Add(LoadIcon(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_DIR1)));
m_bitimage.Add(LoadIcon(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_DIR2)));
m_bitimage.Add(LoadIcon(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_FILE1)));
m_bitimage.Add(LoadIcon(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_FILE2)));
m_bitimage.Add(LoadIcon(::AfxGetInstanceHandle(
没有合适的资源?快使用搜索试试~ 我知道了~
Windows回收站模拟实现
共70个文件
h:17个
ico:17个
cpp:16个
需积分: 9 8 下载量 146 浏览量
2009-05-03
16:00:27
上传
评论
收藏 305KB RAR 举报
温馨提示
Visial c++实现的回收站 。对渴望底层编程以及学习windows编程的人有很好的借鉴
资源推荐
资源详情
资源评论
收起资源包目录
hsz.rar (70个子文件)
模拟回收站
CMultiViewSplitter.h 2KB
FileIconView.cpp 7KB
RunDlg.h 2KB
StdAfx.cpp 209B
FileAttribDlg.cpp 4KB
filesys.aps 269KB
CMultiViewSplitter.cpp 4KB
NewExeDlg.cpp 2KB
FileDetailView.cpp 8KB
filesys.plg 2KB
filesys.cpp 4KB
filesys.h 1KB
filesys.ncb 281KB
filesys.clw 11KB
FileAttribDlg.h 1KB
MainFrm.h 6KB
InputDlg.h 1KB
DirView.h 2KB
ItemAttribDlg.h 1KB
filesysDoc.cpp 2KB
InputDlg.cpp 2KB
DirAttribDlg.cpp 5KB
ItemAttribDlg.cpp 4KB
DirAttribDlg.h 1KB
Debug
FileOpenDlg.cpp 4KB
StdAfx.h 2KB
filesys.rc 29KB
RunDlg.cpp 2KB
FileDetailView.h 2KB
MainFrm.cpp 73KB
FileListView.h 2KB
FileOpenDlg.h 2KB
FileIconView.h 2KB
Resource.h 4KB
FileListView.cpp 7KB
DirView.cpp 10KB
filesys.opt 62KB
NewExeDlg.h 1KB
res
Scheduling.ico 1KB
arrow_m.cur 766B
mul_drag.cur 766B
icon1001.ico 21KB
icon1025.ico 23KB
icon1047.ico 25KB
icon1000.ico 9KB
lnodrop.cur 766B
0168.ico 21KB
filesysDoc.ico 1KB
Clean.ico 1KB
no_i.cur 326B
3dwarro.cur 766B
b.ICO 25KB
filesys.ico 1KB
icon1049.ico 18KB
icon1035.ico 9KB
Thumbs.db 17KB
dir11.ico 21KB
filesys.rc2 399B
icon1014.ico 21KB
hnwse.cur 766B
Toolbar.bmp 2KB
arrow_l.cur 766B
cursor1.cur 766B
icon1002.ico 21KB
icon1030.ico 21KB
icon1039.ico 7KB
filesys.dsw 539B
data.mdb 1.8MB
filesysDoc.h 1KB
filesys.dsp 6KB
共 70 条
- 1
资源评论
ZTlinuxman
- 粉丝: 0
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功