亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? testzipdlgdlg.cpp

?? TestZipDlg壓縮方法的函數(shù)
?? CPP
字號(hào):
// TestZipDlgDlg.cpp : implementation file
///////////////////////////////////////////////////////////////
//   Copyright (C) 2000 Tadeusz Dracz
///////////////////////////////////////////////////////////////


#include "stdafx.h"
#include "TestZipDlg.h"
#include "TestZipDlgDlg.h"
#include "OptionsDlg.h"
#include "BrowseForFolder.h"
#include "AboutDlg.h"
#include "CommentDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CTestZipDlgDlg dialog

CTestZipDlgDlg::CTestZipDlgDlg(CWnd* pParent /*=NULL*/)
	: CResizableDialog(CTestZipDlgDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CTestZipDlgDlg)
	m_szComment = _T("");
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CTestZipDlgDlg::DoDataExchange(CDataExchange* pDX)
{
	CResizableDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CTestZipDlgDlg)
	DDX_Control(pDX, IDC_CONTENTS, m_files);
	DDX_Text(pDX, IDC_EDIT1, m_szComment);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CTestZipDlgDlg, CResizableDialog)
	//{{AFX_MSG_MAP(CTestZipDlgDlg)
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_WM_DESTROY()
	ON_COMMAND(ID_ACTION_ADD_FILES, OnActionAddFiles)
	ON_COMMAND(ID_ACTION_ADD_FOLODER, OnActionAddFoloder)
	ON_COMMAND(ID_ACTION_DELETE, OnActionDelete)
	ON_COMMAND(ID_ACTION_EXTRACT, OnActionExtract)
	ON_COMMAND(ID_ARCHIVE_CLOSE, OnArchiveClose)
	ON_COMMAND(ID_ARCHIVE_EXIT, OnArchiveExit)
	ON_COMMAND(ID_ARCHIVE_NEW, OnArchiveNew)
	ON_COMMAND(ID_ARCHIVE_OPEN, OnArchiveOpen)
	ON_COMMAND(ID_ARCHIVE_OPTIONS, OnArchiveOptions)
	ON_COMMAND(ID_HELP_ABOUT, OnHelpAbout)
	ON_UPDATE_COMMAND_UI(ID_ACTION_ADD_FILES, OnUpdateActionAdd)
	ON_UPDATE_COMMAND_UI(ID_ACTION_DELETE, OnUpdateActionDelete)
	ON_UPDATE_COMMAND_UI(ID_ACTION_EXTRACT, OnUpdateActionExtract)
	ON_UPDATE_COMMAND_UI(ID_ARCHIVE_CLOSE, OnUpdateArchiveClose)
	ON_EN_CHANGE(IDC_EDIT1, OnChangeEdit1)
	ON_NOTIFY(NM_DBLCLK, IDC_CONTENTS, OnDblclkContents)
	ON_UPDATE_COMMAND_UI(ID_ACTION_ADD_FOLODER, OnUpdateActionAdd)
	ON_WM_INITMENU()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CTestZipDlgDlg message handlers

BOOL CTestZipDlgDlg::OnInitDialog()
{
	m_zip.SetSpanCallback(ChangeDisk, this);
	m_zip.SetAdvanced(1500000);
	if (!m_options.m_reg.Load())
		m_options.SetDefaults();

	CResizableDialog::OnInitDialog();
	UpdateDialogControls(this, FALSE);

	m_files.SetExtendedStyle(LVS_EX_FULLROWSELECT);
	m_files.InsertColumn(0, IDS_COL1);
	m_files.InsertColumn(1, IDS_COL2);
	m_files.InsertColumn(2, IDS_COL3, LVCFMT_RIGHT);
	m_files.InsertColumn(3, IDS_COL4);
	m_files.InsertColumn(4, IDS_COL6);
	m_files.InsertColumn(5, IDS_COL7);
	m_files.InsertColumn(6, IDS_COL5, LVCFMT_RIGHT);
	m_files.InsertColumn(7, IDS_COL8);
	m_files.UpdateColumnWidths();
	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	AddAnchor(IDC_EDIT1, MIDDLE_LEFT, BOTTOM_RIGHT);
	AddAnchor(IDC_COMM_TXT, MIDDLE_LEFT, BOTTOM_RIGHT);
	AddAnchor(IDC_CONTENTS, TOP_LEFT, MIDDLE_RIGHT);
	// TODO: Add extra initialization here
	
	return TRUE;  // return TRUE  unless you set the focus to a control
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CTestZipDlgDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CResizableDialog::OnPaint();
	}
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CTestZipDlgDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

bool CTestZipDlgDlg::GetFileName(CString &szFile, bool bOpen)
{
	CFileDialog fd(bOpen, "zip", bOpen ? NULL : "archive", OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "Zip Files (*.zip)|*.zip|All Files (*.*)|*.*||");
	if (fd.DoModal() != IDOK)
		return false;
	szFile = fd.GetPathName();
	return true;
}

void CTestZipDlgDlg::Redisplay()
{
	DisplayLabel();
	m_files.DeleteAllItems();
	for (int i = 0; i < m_zip.GetNoEntries(); i++)
	{
		CFileHeader fh;
		m_zip.GetFileInfo(fh, (WORD)i);
		int iItem = m_files.GetItemCount();
		m_files.InsertItem(iItem, fh.m_szFileName);
		m_files.SetItemText(iItem, 1, m_zip.IsFileDirectory((WORD)i) ? "YES" : "NO");
		CString sz;
		sz.Format("%d", fh.m_uUncomprSize);
		m_files.SetItemText(iItem, 2, sz);
		m_files.SetItemText(iItem, 3, fh.GetTime().FormatGmt("%d %b %Y, %X"));
		sz = fh.m_uExternalAttr & FILE_ATTRIBUTE_READONLY ? 'r' : '-';
		sz += fh.m_uExternalAttr & FILE_ATTRIBUTE_ARCHIVE ? 'a' : '-';
		sz += fh.m_uExternalAttr & FILE_ATTRIBUTE_HIDDEN ? 'h' : '-';
		sz += fh.m_uExternalAttr & FILE_ATTRIBUTE_SYSTEM ? 's' : '-';
		m_files.SetItemText(iItem, 4, sz);
		sz.Format("%d%%", fh.m_uUncomprSize ? fh.m_uComprSize * 100 / fh.m_uUncomprSize : 0);
		m_files.SetItemText(iItem, 5, sz);
		sz.Format("%lu", fh.m_uCrc32);
		m_files.SetItemText(iItem, 6, sz);
		sz = (fh.m_szComment.GetLength() > 1024) ? fh.m_szComment.Left(1024) +"..." : fh.m_szComment;
		m_files.SetItemText(iItem, 7, sz);
	}
	m_files.UpdateColumnWidths();
}

void CTestZipDlgDlg::OnDestroy() 
{
	OnArchiveClose();
	CResizableDialog::OnDestroy();
}

bool CTestZipDlgDlg::ChangeDisk(int iNumber, int iCode, void* pData)
{
	CTestZipDlgDlg* p = (CTestZipDlgDlg*)pData;
	p->DisplayLabel();
	CString sz;
	sz.Format("Insert disk number %d.", iNumber);
	return AfxMessageBox(sz, MB_OKCANCEL) == IDOK;
}

void CTestZipDlgDlg::DisplayLabel()
{
	SetWindowText(m_zip.GetArchivePath().IsEmpty() ? "Zip" : m_zip.GetArchivePath());
}


void CTestZipDlgDlg::AddFolder(CString szFolder)
{
	szFolder.TrimRight("\\");
	CFileFind ff;
	BOOL b = ff.FindFile(szFolder + "\\*");
	CStringArray folders;
	while (b)
	{
		b = ff.FindNextFile();
		if (ff.IsDots())
			continue;
		if (ff.IsDirectory())
		{
			if  (!m_options.m_bRecurse)
				continue;
			folders.Add(ff.GetFilePath());
		}
		else
			m_zip.AddNewFile(ff.GetFilePath(),m_options.m_iLevel);

	}
	for (int i = 0; i < folders.GetSize(); i++)
	{
		m_zip.AddNewFile(folders[i]); // add the folder before adding its files
												// it is not needed to add the root folder
		AddFolder(folders[i]);
	}
}

void CTestZipDlgDlg::OnActionAddFiles() 
{
	CFileDialog fd(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "All Files (*.*)|*.*||");
	fd.m_ofn.Flags |= OFN_ALLOWMULTISELECT;
	if (fd.DoModal() != IDOK)
		return;
	POSITION p = fd.GetStartPosition();
	while (p)
		m_zip.AddNewFile(fd.GetNextPathName(p), m_options.m_iLevel);
	Redisplay();
	
}

void CTestZipDlgDlg::OnActionAddFoloder() 
{
	CBrowseForFolder bf;	
	bf.hWndOwner = this->m_hWnd;
	bf.strTitle = "Select directory to add to the archive";
	CString sz;
	if (!bf.GetFolder(sz))
		return;
	AddFolder(sz);
	Redisplay();	
	
}

void CTestZipDlgDlg::OnActionDelete() 
{
	CDWordArray da;
	m_files.BuildSelectedArray(da);
	CWordArray wa;
	for (int i = 0; i < da.GetSize(); i++)
		wa.Add((WORD)da[i]);

	m_zip.DeleteFiles(wa);
	Redisplay();	
	
}

void CTestZipDlgDlg::OnActionExtract() 
{
	CBrowseForFolder bf;	
	bf.hWndOwner = this->m_hWnd;
	bf.strTitle = "Select directory to extract files";
	CString sz;
	if (!bf.GetFolder(sz))
		return;
	CDWordArray da;
	m_files.BuildSelectedArray(da);
	for (int i = 0; i < da.GetSize(); i++)
		m_zip.ExtractFile((WORD)da[i], sz);
	
}

void CTestZipDlgDlg::OnArchiveClose() 
{
	if (m_bCommentModified)
	{
		UpdateData();
		m_zip.SetGlobalComment(m_szComment);
		m_bCommentModified = false;
	}
	m_zip.Close();	
	GetDlgItem(IDC_EDIT1)->EnableWindow(FALSE);
	m_szComment.Empty();
	UpdateData(FALSE);

	Redisplay();
	
}

void CTestZipDlgDlg::OnArchiveExit() 
{
	EndDialog(IDOK);
	
}

void CTestZipDlgDlg::OnArchiveNew() 
{
	CString sz;
	if (!GetFileName(sz, false))
		return;
	OnArchiveClose();

	m_bCommentModified = false;
	m_szComment.Empty();
	UpdateData(FALSE);
	GetDlgItem(IDC_EDIT1)->EnableWindow();

	m_zip.Open(sz, m_options.m_iSpan == 0 ? CZipArchive::create : CZipArchive::createSpan,
		m_options.m_iSpan == 1 ? 0 : m_options.m_uVolumeSize);
	Redisplay();
	
}

void CTestZipDlgDlg::OnArchiveOpen() 
{
	CString sz;
	if (!GetFileName(sz, true))
		return;
	OnArchiveClose();

	m_zip.Open(sz, CZipArchive::open, m_options.m_bTdComp ? 1 : 0 );

	m_bCommentModified = false;
	m_szComment = m_zip.GetGlobalComment();
	UpdateData(FALSE);
	if (!m_zip.GetSpanMode())
		GetDlgItem(IDC_EDIT1)->EnableWindow();

	Redisplay();

	
}

void CTestZipDlgDlg::OnArchiveOptions() 
{
	COptionsDlg dlg;
	dlg.m_pOptions = &m_options;
	dlg.DoModal();
	
}

void CTestZipDlgDlg::OnHelpAbout() 
{
	CAboutDlg dlg;
	dlg.DoModal();
	
}

void CTestZipDlgDlg::OnUpdateActionAdd(CCmdUI* pCmdUI) 
{
	pCmdUI->Enable(!m_zip.IsClosed() && (m_zip.GetSpanMode() >= 0));
}

void CTestZipDlgDlg::OnUpdateActionDelete(CCmdUI* pCmdUI) 
{
	pCmdUI->Enable(!m_zip.IsClosed() && !m_zip.GetSpanMode() && m_files.GetSelectedCount());
	
}

void CTestZipDlgDlg::OnUpdateActionExtract(CCmdUI* pCmdUI) 
{
	pCmdUI->Enable(!m_zip.IsClosed() && (m_zip.GetSpanMode() <= 0)&& m_files.GetSelectedCount());
	
}

void CTestZipDlgDlg::OnUpdateArchiveClose(CCmdUI* pCmdUI) 
{
	pCmdUI->Enable(!m_zip.IsClosed());
	
}

void CTestZipDlgDlg::OnChangeEdit1() 
{
	m_bCommentModified = true;	
}

void CTestZipDlgDlg::OnDblclkContents(NMHDR* pNMHDR, LRESULT* pResult) 
{
	if (m_zip.IsClosed() || (m_zip.GetSpanMode() < 0))
		return;
	int i = m_files.GetFirstSelectedItem();
	if (i == -1)
		return;
	CCommentDlg dlg;
	CFileHeader fh;
	m_zip.GetFileInfo(fh, (WORD)i);
	dlg.m_szComment = fh.m_szComment;
	if (dlg.DoModal() == IDOK)
	{
		if (fh.m_szComment.Collate(dlg.m_szComment))
		{
			m_zip.SetFileComment((WORD)i, dlg.m_szComment);
			Redisplay();
		}
	}

	*pResult = 0;
}

void CTestZipDlgDlg::UpdateMenu(CMenu *pMenu)
{
	CCmdUI cmd;
	cmd.m_nIndexMax = pMenu->GetMenuItemCount();
	cmd.m_pMenu = pMenu;
	int s = 0;
	for (UINT i = 0; i < cmd.m_nIndexMax; i++)
	{
		cmd.m_nIndex = i;
		MENUITEMINFO mi;
		mi.cbSize = sizeof(MENUITEMINFO);
		mi.fMask = MIIM_SUBMENU
#ifndef NO_CHECK_FOR_SEPARATOR
	#if(WINVER >= 0x0500)
				| MIIM_FTYPE
	#else
				| MIIM_TYPE
	#endif /* WINVER >= 0x0500 */
#endif //NO_CHECK_FOR_SEPARATOR
;
		if (!pMenu->GetMenuItemInfo(cmd.m_nIndex, &mi, TRUE))
			return;
#ifndef NO_CHECK_FOR_SEPARATOR
		if (mi.fType & MFT_SEPARATOR)
			continue;
#endif //NO_CHECK_FOR_SEPARATOR
		if (mi.hSubMenu)
			UpdateMenu(pMenu->GetSubMenu(s++));
		else
		{
			cmd.m_nID = pMenu->GetMenuItemID(i);
			OnCmdMsg(cmd.m_nID, CN_UPDATE_COMMAND_UI, &cmd, NULL);
		}
		
	}

}

void CTestZipDlgDlg::OnInitMenu(CMenu* pMenu) 
{
	CResizableDialog::OnInitMenu(pMenu);
	UpdateMenu(pMenu);	
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文在线免费一区三区高中清不卡| 麻豆精品精品国产自在97香蕉| 国产欧美一区二区精品忘忧草| 国产成人精品1024| 国产精品资源站在线| 久久久久久久久99精品| 无码av免费一区二区三区试看| 亚洲欧美日韩国产成人精品影院| 韩国在线一区二区| 亚洲精品高清在线观看| 久久精品网站免费观看| 3751色影院一区二区三区| 97se亚洲国产综合自在线不卡 | 911精品国产一区二区在线| 成人久久18免费网站麻豆| 麻豆精品新av中文字幕| 亚洲一级片在线观看| 最近日韩中文字幕| 久久精品视频一区二区| 精品成人私密视频| 欧美一区二区黄色| 欧美精品一卡二卡| 欧美色网一区二区| 91免费国产在线观看| 99精品久久久久久| 99这里只有久久精品视频| 国产不卡在线视频| 国产成人自拍在线| 国产福利精品导航| 国产成人在线视频网站| 韩日av一区二区| 国产呦精品一区二区三区网站| 久久国产视频网| 精一区二区三区| 久久se精品一区精品二区| 麻豆国产欧美一区二区三区| 日韩福利电影在线观看| 日韩福利电影在线| 老司机免费视频一区二区| 麻豆精品久久久| 久久国产精品一区二区| 精品一区二区在线观看| 韩国成人精品a∨在线观看| 国产麻豆日韩欧美久久| 国产麻豆一精品一av一免费| 国产精品综合二区| 成人午夜免费av| caoporm超碰国产精品| 色婷婷激情综合| 欧美视频在线观看一区二区| 欧美日韩夫妻久久| 欧美成人精精品一区二区频| 久久久久久久久久电影| 亚洲欧美综合另类在线卡通| 亚洲欧美国产77777| 天天av天天翘天天综合网色鬼国产| 日韩精品欧美成人高清一区二区| 蜜臀av性久久久久蜜臀aⅴ流畅| 久久成人免费电影| 成人黄色网址在线观看| 欧美三级一区二区| 精品三级av在线| 国产日韩欧美a| 亚洲在线视频网站| 美国三级日本三级久久99| 欧美日韩大陆一区二区| 欧美成人国产一区二区| 欧美国产精品v| 亚洲高清在线精品| 激情久久五月天| eeuss鲁片一区二区三区在线看| 欧美日韩国产成人在线免费| 精品99久久久久久| 亚洲视频小说图片| 免费的国产精品| 成人午夜视频在线| 欧美精品黑人性xxxx| 国产偷v国产偷v亚洲高清| 亚洲综合自拍偷拍| 国产在线精品不卡| 在线视频国内自拍亚洲视频| 久久一日本道色综合| 亚洲猫色日本管| 激情欧美一区二区三区在线观看| 99re热视频精品| 欧美成人aa大片| 亚洲精品欧美在线| 国产精品一二三在| 欧美日本一道本| 日韩毛片视频在线看| 免费av网站大全久久| 色综合 综合色| 欧美成人a在线| 午夜影视日本亚洲欧洲精品| 成人综合激情网| 欧美一区日本一区韩国一区| 国产精品国产三级国产三级人妇 | 99精品国产热久久91蜜凸| 欧美电影一区二区| 亚洲少妇30p| 国产精品羞羞答答xxdd| 日韩亚洲欧美一区二区三区| 亚洲免费观看在线观看| 国产成人精品免费网站| 欧美大黄免费观看| 亚洲福利国产精品| 色婷婷av一区二区三区大白胸| 国产欧美日韩综合精品一区二区| 无码av免费一区二区三区试看| 色综合欧美在线视频区| 国产日韩欧美高清在线| 激情六月婷婷久久| 欧美大黄免费观看| 奇米影视7777精品一区二区| 欧美午夜精品久久久久久超碰| 国产精品欧美久久久久一区二区| 国产乱人伦精品一区二区在线观看| 欧美久久久久中文字幕| 亚洲一区二区三区免费视频| 色偷偷成人一区二区三区91| 中国av一区二区三区| 国产寡妇亲子伦一区二区| 久久在线观看免费| 久久精品国产网站| 欧美一区午夜精品| 免费观看日韩av| 日韩一区和二区| 麻豆精品视频在线观看免费| 91精品国产91久久综合桃花| 视频一区中文字幕| 欧美高清你懂得| 日韩精品成人一区二区三区| 欧美日韩一区二区三区在线| 亚洲成人免费在线观看| 欧美图区在线视频| 午夜久久久久久久久| 欧美日韩大陆一区二区| 琪琪一区二区三区| 日韩一区二区不卡| 韩国午夜理伦三级不卡影院| 精品国产伦一区二区三区观看体验 | 色综合久久中文综合久久牛| 亚洲青青青在线视频| 在线视频一区二区三| 久久久久久久网| 成人毛片视频在线观看| 亚洲视频小说图片| 欧美三级韩国三级日本一级| 日韩av午夜在线观看| 日韩欧美精品在线视频| 国产一区二区不卡| 综合网在线视频| 在线观看国产日韩| 蜜桃视频一区二区三区在线观看| 日韩欧美成人一区二区| 国产精品一区2区| 国产精品久久久久久福利一牛影视| 日本高清成人免费播放| 日韩高清电影一区| 久久这里都是精品| 91麻豆精品在线观看| 午夜激情久久久| 久久婷婷色综合| 91亚洲资源网| 蜜桃久久精品一区二区| 中文字幕精品综合| 欧美日韩另类一区| 极品少妇xxxx精品少妇| 国产精品久久久久aaaa| 欧美日韩免费一区二区三区视频| 九九精品一区二区| 综合久久久久久久| 欧美一区二区三区性视频| 国产精品一二三在| 亚洲成av人片| 国产日韩精品一区二区三区在线| 欧美性受xxxx黑人xyx性爽| 久久精品72免费观看| 最新国产成人在线观看| 欧美一二三四区在线| av电影天堂一区二区在线| 日本欧美加勒比视频| 亚洲色图视频网站| 日韩免费一区二区| 一本大道av伊人久久综合| 国内精品免费在线观看| 亚洲中国最大av网站| 国产日韩成人精品| 在线不卡一区二区| 99re免费视频精品全部| 国产毛片精品视频| 日韩精品一级中文字幕精品视频免费观看 | 欧美日韩国产免费一区二区| 国产**成人网毛片九色| 首页综合国产亚洲丝袜| 亚洲欧洲日韩女同| 精品国产污污免费网站入口 | 亚洲一区av在线| 国产亚洲短视频| 欧美一区二区视频免费观看|