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

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

?? infoview.cpp

?? 磁盤容量掃描、但界面和程序結(jié)構(gòu)非常不錯(cuò)
?? CPP
字號(hào):
// InfoView.cpp : implementation file
//

#include "stdafx.h"
#include "DiskInfo.h"
#include "InfoView.h"
#include "Common/DirDialog.h"

#include "MainFrm.h"

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

/////////////////////////////////////////////////////////////////////////////
// CInfoView
#include "Common/memDC.h"

IMPLEMENT_DYNCREATE(CInfoView, CView)

CInfoView::CInfoView()
{
	m_bEnableFolder = true;
	m_bFirstShow = true;
}

CInfoView::~CInfoView()
{
}


BEGIN_MESSAGE_MAP(CInfoView, CView)
	//{{AFX_MSG_MAP(CInfoView)
	ON_WM_ERASEBKGND()
	ON_WM_CREATE()
	ON_WM_SIZE()
	ON_COMMAND(ID_RESCAN_ALL, OnRescanAll)
	ON_WM_SHOWWINDOW()
	ON_WM_TIMER()
	ON_COMMAND(ID_STOP, OnStop)
	ON_UPDATE_COMMAND_UI(ID_RESCAN_ALL, OnUpdateRescanAll)
	ON_UPDATE_COMMAND_UI(ID_STOP, OnUpdateStop)
	ON_COMMAND(ID_ADD_FOLDER, OnAddFolder)
	ON_COMMAND(ID_ENABLE_FOLDER, OnEnableFolder)
	ON_UPDATE_COMMAND_UI(ID_ENABLE_FOLDER, OnUpdateEnableFolder)
	ON_UPDATE_COMMAND_UI(ID_ADD_FOLDER, OnUpdateAddFolder)
	ON_WM_HELPINFO()
	//}}AFX_MSG_MAP
	ON_MESSAGE(WM_DISKLIST_NOTIFY, OnDiskCtrlNotify)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CInfoView drawing

void CInfoView::OnDraw(CDC* pDC)
{
	CDocument* pDoc = GetDocument();
	// TODO: add draw code here
	CMemDC memDC(pDC);
	CRect rcClient;
	GetClientRect(&rcClient);

	memDC.FillSolidRect(rcClient, GetSysColor(COLOR_3DFACE));

	// Draw a Line under the toolbar
	CRect rc(rcClient);
	rc.right--;
	memDC.DrawEdge(rc, EDGE_ETCHED, BF_TOP);
}

/////////////////////////////////////////////////////////////////////////////
// CInfoView diagnostics

#ifdef _DEBUG
void CInfoView::AssertValid() const
{
	CView::AssertValid();
}

void CInfoView::Dump(CDumpContext& dc) const
{
	CView::Dump(dc);
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CInfoView message handlers

BOOL CInfoView::OnEraseBkgnd(CDC* pDC) 
{
	return TRUE;
}

int CInfoView::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CView::OnCreate(lpCreateStruct) == -1)
		return -1;
	
	m_ctrlDiskInfo.Create(NULL, "", WS_CHILD|WS_VISIBLE, 
		CRect(5,5, 400, 100), this, ID_DISKINFO_CTRL);

	//m_ctrlDiskInfo.ModifyStyleEx(NULL, WS_EX_STATICEDGE, SWP_NOSIZE|SWP_NOMOVE|SWP_NOZORDER);

	UpdateDriveFolders();

	//Update drives only
	m_ctrlDiskInfo.Update();
	//if (IsWindowVisible())
	//	OnRescanAll();
	
	//m_ctrlDiskInfo.AddFolder("C:\\Win98");
	//m_ctrlDiskInfo.AddFolder("C:\\Win98");
		
	return 0;
}

#define _nBorder_X_  3
#define _nBorder_Y_  3

void CInfoView::OnSize(UINT nType, int cx, int cy) 
{
	CView::OnSize(nType, cx, cy);
	
	CRect rcClient;
	GetClientRect(&rcClient);

	m_ctrlDiskInfo.SetWindowPos(NULL, 
		_nBorder_X_, _nBorder_Y_, rcClient.Width()-_nBorder_X_*2,
		rcClient.Height()-_nBorder_Y_*2, SWP_NOZORDER);

}

void CInfoView::GetMaxMinHeight(int &nMin, int &nMax)
{
	int nMinOne = 22;
	int nMaxOne = 22;

	int nNumber = m_ctrlDiskInfo.GetSize();
	int nSize = m_ctrlDiskInfo.GetDriveSize();
	nMin = nMinOne * (nNumber + (nSize!=0)) + ((nSize!=0)?20:0) + 0 +_nBorder_Y_*2;
	nMax = nMaxOne * (nNumber + (nSize!=0)) + ((nSize!=0)?20:0) + 0 +_nBorder_Y_*2;
}

void CInfoView::OnRescanAll() 
{
	m_ctrlDiskInfo.Update(TRUE);
}

void CInfoView::OnShowWindow(BOOL bShow, UINT nStatus) 
{
	if (bShow && nStatus == 0)
	{
		if (m_bFirstShow /*|| Is paused */)
		{
			m_bFirstShow = FALSE;
			//OnRescanAll();
		}
	}

	CView::OnShowWindow(bShow, nStatus);
	
		
}

void CInfoView::OnOptionChanged()
{
	UpdateDriveFolders();
	m_ctrlDiskInfo.InitCtrl();

	//if (IsWindowVisible())
}

void CInfoView::UpdateDriveFolders()
{
	CWinApp* app = AfxGetApp();
	BOOL bRemovable= app->GetProfileInt("Settings", "EnableRemovable", 1);
	BOOL bFixed = app->GetProfileInt("Settings", "EnableFixed", 1);
	BOOL bCDROM = app->GetProfileInt("Settings", "EnableCDROM", 1);
	BOOL bRemote = app->GetProfileInt("Settings", "EnableRemote", 0);
	BOOL bRamDrive = app->GetProfileInt("Settings", "EnableRAMDisk", 0);	
	int nInterval = app->GetProfileInt("Settings", "Interval", 3);
	CString strExclude = app->GetProfileString("Settings", "Exclude", "A:\\ B:\\");

	m_bEnableFolder = app->GetProfileInt("Settings", "EnableFolder",   1) == 1;
	CString strData;	
	strData = app->GetProfileString("Settings", "RedAlert", "50.5");
	m_ctrlDiskInfo.m_dRedAlert = atof(strData);
	strData = app->GetProfileString("Settings", "YellowAlert", "30.5");
	m_ctrlDiskInfo.m_dYellowAlert = atof(strData);

	// Load Folder data
	CStringArray strArray;
	CString str;
	int n = 0;
	str.Format("FolderData%d", n);
	strData = app->GetProfileString("Settings", str, "");

	while (!strData.IsEmpty())
	{
		strArray.Add(strData);
		n++;
		str.Format("FolderData%d", n);
		strData = app->GetProfileString("Settings", str, "");
	}

	strExclude.MakeLower();
	str = strExclude;
	str.MakeUpper();
	strExclude += str;

	int nPos=0;
	CString strDrive = "?:\\";
	UINT nType;

	m_ctrlDiskInfo.DeleteAll();
	
	DWORD dwDriveList = ::GetLogicalDrives();
	while (dwDriveList)
	{
		if (dwDriveList & 1)
		{
			strDrive.SetAt(0, 0x41 + nPos);
			nType = ::GetDriveType((LPCTSTR)strDrive);
			
			switch (nType)
			{
			case DRIVE_REMOVABLE:
				if (bRemovable && strExclude.Find(strDrive.Left(1))==-1)
						m_ctrlDiskInfo.AddDrive(strDrive);
		        break;
	
			case DRIVE_FIXED:
				if (bFixed && strExclude.Find(strDrive.Left(1))==-1 ) 
						m_ctrlDiskInfo.AddDrive(strDrive);
				break;
		
			case DRIVE_REMOTE:
				if (bRemote && strExclude.Find(strDrive.Left(1))==-1 ) 
						m_ctrlDiskInfo.AddDrive(strDrive);
				break;

			case DRIVE_CDROM:
				if (bCDROM && strExclude.Find(strDrive.Left(1))==-1 ) 
						m_ctrlDiskInfo.AddDrive(strDrive);
				break;

			case DRIVE_RAMDISK:
				if (bRamDrive && strExclude.Find(strDrive.Left(1))==-1 ) 
						m_ctrlDiskInfo.AddDrive(strDrive);
				break;
			}
				
		}
		dwDriveList >>= 1;
		nPos ++;
	}

	if (m_bEnableFolder)
	{
		int nSize = strArray.GetSize();
		CString strFolder;

		for (int i=0; i<nSize; i++)
			m_ctrlDiskInfo.AddFolder(strArray.GetAt(i));
	}

	KillTimer(ID_DISKINFO_TIMER);
	SetTimer(ID_DISKINFO_TIMER, 1000*nInterval, NULL);
}

void CInfoView::OnTimer(UINT nIDEvent) 
{
	m_ctrlDiskInfo.Update();
	
	CView::OnTimer(nIDEvent);
}

void CInfoView::OnStop() 
{
	m_ctrlDiskInfo.OnStopAll();
}

long CInfoView::OnDiskCtrlNotify(WPARAM wParam, LPARAM lParam)
{
	CDiskListCtrl::CItemInfo* pItem = (CDiskListCtrl::CItemInfo*)lParam;

	CString str(pItem->m_strDriveName);
	((CMainFrame*)AfxGetMainWnd())->SetCurrentFolder(str);
	((CDiskInfoApp*)AfxGetApp())->OnSwitchMainWindow();
	//MessageBox(pItem->m_strDriveName);
	return 0;
}

void CInfoView::UpdateDrives()
{
	m_ctrlDiskInfo.Update();
}

void CInfoView::UpdateFolders()
{
	m_ctrlDiskInfo.OnStopAll();
	m_ctrlDiskInfo.UpdateAbortedFolders();
}

void CInfoView::OnUpdateRescanAll(CCmdUI* pCmdUI) 
{
	pCmdUI->Enable(m_ctrlDiskInfo.m_nNrThread==0);
}

void CInfoView::OnUpdateStop(CCmdUI* pCmdUI) 
{
	pCmdUI->Enable(m_ctrlDiskInfo.m_nNrThread>0);
}

void CInfoView::OnAddFolder() 
{
	CDirDialog dlg;
	CString strPath;
	strPath.LoadString(IDS_SELECTFOLDER_TO_MONITOR);
	
	dlg.m_strTitle = strPath;
	dlg.m_hWnd = GetSafeHwnd();
	
	if (dlg.DoBrowse() == IDOK)
	{
		strPath = dlg.m_strPath;
		if (strPath.Right(1) != "\\")
			strPath += "\\";
	
		m_ctrlDiskInfo.AddFolder(strPath);
		((CInfoFrame*)GetOwner())->UpdateWindowSize();
		m_ctrlDiskInfo.Update();

		m_ctrlDiskInfo.UpdateAbortedFolders();

		//Save the folder list to registry
		CWinApp* app = AfxGetApp();
		
		CString strData;
		CString str;
		int n = 0;
		str.Format("FolderData%d", n);
		strData = app->GetProfileString("Settings", str, "");
		while (!strData.IsEmpty())
		{
			n++;
			str.Format("FolderData%d", n);
			strData = app->GetProfileString("Settings", str, "");
		}

		app->WriteProfileString("Settings", str, strPath);		
	}
}

void CInfoView::OnEnableFolder() 
{
	m_bEnableFolder = !m_bEnableFolder;
	CWinApp* app = AfxGetApp();

	m_ctrlDiskInfo.OnStopAll();

	if (m_bEnableFolder)
	{		
		// Load Folder data
		CStringArray strArray;
		CString str;
		int n = 0;
		str.Format("FolderData%d", n);
		CString strData = app->GetProfileString("Settings", str, "");
		
		while (!strData.IsEmpty())
		{
			strArray.Add(strData);
			n++;
			str.Format("FolderData%d", n);
			strData = app->GetProfileString("Settings", str, "");
		}
		
		int nSize = strArray.GetSize();
		CString strFolder;

		for (int i=0; i<nSize; i++)
			m_ctrlDiskInfo.AddFolder(strArray.GetAt(i));

		m_ctrlDiskInfo.UpdateAbortedFolders();
	}else
	{
		m_ctrlDiskInfo.EmptyFolderArray();
	}

	((CInfoFrame*)GetOwner())->UpdateWindowSize();
	m_ctrlDiskInfo.Update();

	app->WriteProfileInt("Settings", "EnableFolder",   m_bEnableFolder);
}

void CInfoView::OnUpdateEnableFolder(CCmdUI* pCmdUI) 
{
	pCmdUI->SetCheck(m_bEnableFolder);
}

void CInfoView::OnUpdateAddFolder(CCmdUI* pCmdUI) 
{
	pCmdUI->Enable(m_bEnableFolder);
}

BOOL CInfoView::OnHelpInfo(HELPINFO* pHelpInfo) 
{
	return TRUE;
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区资源| 国产福利视频一区二区三区| 久久色.com| 欧美日韩综合在线免费观看| 国内精品第一页| 一区二区三区丝袜| 欧美激情在线观看视频免费| 制服丝袜在线91| 欧美专区日韩专区| 成av人片一区二区| 久国产精品韩国三级视频| 亚洲成人动漫在线观看| 亚洲天堂av一区| 国产欧美视频一区二区| 日韩三级电影网址| 欧美亚洲国产怡红院影院| 成人av资源站| 国产成人精品三级| 黄网站免费久久| 美国十次了思思久久精品导航| 亚洲一级二级三级| 亚洲欧美另类久久久精品2019| 欧美国产精品久久| 久久免费的精品国产v∧| 日韩三级视频在线观看| 制服视频三区第一页精品| 欧美天堂一区二区三区| 91麻豆国产福利在线观看| 99精品久久只有精品| 成+人+亚洲+综合天堂| 国产很黄免费观看久久| 国产精品影音先锋| 激情综合五月婷婷| 国产在线精品一区二区三区不卡 | 午夜精品免费在线| 亚洲一区影音先锋| 一区二区三区四区不卡视频 | 国产资源在线一区| 精品无人码麻豆乱码1区2区| 麻豆国产精品777777在线| 麻豆精品国产传媒mv男同| 久久99日本精品| 国产一区二区视频在线| 国产精品综合av一区二区国产馆| 国产精品一二三区| 国产成人免费视频一区| 成人av资源在线观看| 91麻豆国产福利精品| 在线精品视频一区二区| 欧美伦理视频网站| 日韩视频一区二区三区| 久久视频一区二区| 国产精品传媒视频| 亚洲精品国产a久久久久久 | 成人黄色777网| 91在线视频免费观看| 欧洲一区二区三区免费视频| 欧美视频中文字幕| 日韩精品资源二区在线| 国产无人区一区二区三区| 中文字幕一区日韩精品欧美| 亚洲综合av网| 免费欧美高清视频| 国产精品一区久久久久| 99久久er热在这里只有精品15| 欧美亚洲一区三区| 精品人在线二区三区| 久久久国产一区二区三区四区小说| 国产精品久久看| 午夜精品在线看| 国产精品一二三四区| 欧美亚洲禁片免费| 久久影视一区二区| 亚洲综合激情另类小说区| 久久99精品国产91久久来源| 不卡视频在线看| 欧美老年两性高潮| 国产午夜亚洲精品理论片色戒| 亚洲精品欧美激情| 国产一区二区三区香蕉| 色婷婷av久久久久久久| www国产成人| 亚洲精品国产视频| 国产精品一线二线三线| 欧美亚洲图片小说| 日本一区二区高清| 天堂在线一区二区| 国产69精品一区二区亚洲孕妇| 欧美色图免费看| 国产精品视频你懂的| 亚洲成av人片在线观看无码| 国产成人aaa| 日韩欧美一区二区三区在线| 亚洲特黄一级片| 国产激情一区二区三区| 在线播放一区二区三区| 中文字幕一区在线| 国产精品影视在线| 91精品久久久久久蜜臀| 亚洲视频一区二区免费在线观看| 狠狠色丁香久久婷婷综合_中| 在线免费观看一区| 国产精品视频在线看| 久久精品国产澳门| 欧美日韩一级片在线观看| 欧美国产成人精品| 国产麻豆日韩欧美久久| 欧美精品v日韩精品v韩国精品v| 亚洲欧美成人一区二区三区| 国产成人精品免费视频网站| 欧美一二三区在线观看| 午夜激情一区二区三区| 日本道色综合久久| 国产精品激情偷乱一区二区∴| 麻豆精品在线观看| 91精品国产一区二区| 一区二区三区在线播| 91性感美女视频| 国产精品欧美一区喷水| 国产乱码精品一区二区三| 欧美r级电影在线观看| 视频一区在线播放| 欧美二区三区的天堂| 亚洲一区二区三区在线看| 99精品国产99久久久久久白柏| 国产视频在线观看一区二区三区| 黄色小说综合网站| 精品久久久久久久久久久院品网 | 亚洲精品免费在线| 99久久99久久精品免费看蜜桃 | 日韩av二区在线播放| 欧美一a一片一级一片| 亚洲国产一区视频| 欧美日韩日本视频| 日韩成人av影视| 日韩亚洲欧美成人一区| 麻豆成人久久精品二区三区小说| 欧美一级二级三级蜜桃| 蜜桃视频在线一区| 亚洲精品一区在线观看| 国产精品12区| 中文字幕不卡在线| 91无套直看片红桃| 亚洲一区二区高清| 欧美一二三在线| 国产麻豆精品一区二区| 国产精品天天看| 91视频xxxx| 亚洲成国产人片在线观看| 69堂国产成人免费视频| 黑人巨大精品欧美一区| 久久久久久久av麻豆果冻| 成人中文字幕合集| 亚洲黄色在线视频| 欧美一区二区视频观看视频| 精品一区二区三区蜜桃| 日本一区免费视频| 91美女视频网站| 人人狠狠综合久久亚洲| 国产亚洲欧洲997久久综合 | 成人免费看视频| 一区二区三区中文字幕电影| 欧美精选一区二区| 国产在线乱码一区二区三区| 国产精品不卡在线| 欧美肥大bbwbbw高潮| 国产成人av电影在线| 亚洲精品第1页| 精品理论电影在线观看| 99国产精品久久久| 日本系列欧美系列| 欧美国产日本韩| 欧美男男青年gay1069videost| 精品一区二区三区久久| 亚洲欧美国产77777| 欧美一级日韩免费不卡| 成人听书哪个软件好| 亚洲高清在线视频| 亚洲国产精品t66y| 91精品国产欧美日韩| www.亚洲国产| 免费成人美女在线观看| 日韩美女精品在线| 日韩女优制服丝袜电影| 91伊人久久大香线蕉| 久久成人综合网| 亚洲激情校园春色| 久久久久久久久久电影| 欧美日韩一区 二区 三区 久久精品| 国产一区二区三区香蕉| 午夜伦理一区二区| 国产精品久久久久久久久动漫| 欧美一区二区三区视频免费播放| 99久久精品久久久久久清纯| 久久99国产精品麻豆| 亚洲成a人v欧美综合天堂| 国产精品国产三级国产普通话99 | 亚洲综合一区在线| 国产亚洲一二三区| 精品捆绑美女sm三区|