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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? eringdlg.cpp

?? 微軟PDA上的鈴聲軟件
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
// eRingDlg.cpp : implementation file
//

#include "stdafx.h"
#include "eRing.h"
#include "eRingDlg.h"
#include "Mmsystem.h"
//#include "AboutDlg.h"

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

#define		RINGTONEKEY				L"ControlPanel\\Sounds\\RingTone0"
#define		SCRIPT					L"Script"
#define		SCRIPTVALUE				L"apw3r"
#define		SOUND					L"Sound"
#define		CATEGORY				L"Category"
#define		CATEGORYVALUE			L"Ring"

/////////////////////////////////////////////////////////////////////////////
// CERingDlg dialog

CERingDlg::CERingDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CERingDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CERingDlg)
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
	listWave.SetSize(0);
	listSelect.SetSize(0);
	listRing.SetSize(0);
	sortStatus[0]=sortStatus[1]=sortStatus[2]=true;
	beStop=false;
	bAbout=false;
	indexSort=-1;
	bWait=FALSE;
	count=0;
}

void CERingDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CERingDlg)
	DDX_Control(pDX, IDC_LISTWAVE, m_List);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CERingDlg, CDialog)
	//{{AFX_MSG_MAP(CERingDlg)
	ON_NOTIFY(LVN_ITEMCHANGED, IDC_LISTWAVE, OnItemchangedListwave)
	ON_NOTIFY(LVN_COLUMNCLICK, IDC_LISTWAVE, OnColumnclickListwave)
	ON_BN_CLICKED(IDC_PREVIEW, OnPreview)
	ON_BN_CLICKED(IDC_STOP, OnStop)
	ON_WM_SIZE()
	ON_WM_PAINT()
	ON_COMMAND(IDM_SETRINGTONE, OnSetRingTone)
	ON_WM_ACTIVATE()
	ON_WM_LBUTTONDOWN()
	ON_WM_KEYDOWN()
	ON_WM_CANCELMODE()
	ON_WM_HELPINFO()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CERingDlg message handlers

BOOL CERingDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// 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
	
	CenterWindow(GetDesktopWindow());	// center to the hpc screen
	
	// TODO: Add extra initialization here

	m_List.SetNotifyWnd(this);
	m_List.SetPoint(&m_Point);
	ArrangeItems();

	ListView_SetExtendedListViewStyle 
		(m_List.GetSafeHwnd(), LVS_EX_CHECKBOXES | LVS_EX_FULLROWSELECT);
	CString suffix;
	suffix.LoadString(IDS_SUFFIX);
	InitList();
//	m_List.DeleteAllItems();
//	ReleaseData();
//	listWave.RemoveAll();
//	listRing.RemoveAll();
//	count=0;
//	ReFresh();

	m_exit=true;

	return TRUE;  // return TRUE  unless you set the focus to a control
}



void CERingDlg::OnItemchangedListwave(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
	// TODO: Add your control notification handler code here
	
	*pResult = 0;
	if (pNMListView->uOldState == 0 && pNMListView->uNewState == 0)
		return;	// No change

	BOOL bPrevState = (BOOL)(((pNMListView->uOldState & 
				LVIS_STATEIMAGEMASK)>>12)-1);   // Old check box state
	if (bPrevState < 0)	// On startup there's no previous state 
		bPrevState = 0; // so assign as false (unchecked)

	// New check box state
	BOOL bChecked=(BOOL)(((pNMListView->uNewState & LVIS_STATEIMAGEMASK)>>12)-1);   
	if (bChecked < 0) // On non-checkbox notifications assume false
		bChecked = 0; 

	if (bPrevState == bChecked) // No change in check box
		return;
	if (bChecked){
//		m_List.SetItemState(pNMListView->iItem,LVNI_FOCUSED,LVNI_FOCUSED);
//		m_List.SetItemState(pNMListView->iItem,LVNI_SELECTED,LVNI_SELECTED);
		int idx=m_List.GetItemData(pNMListView->iItem);
//		AddStrToArray(listSelect,listWave.GetAt(idx)->szPathName);
	}
	else{
//		m_List.SetItemState(pNMListView->iItem,~LVNI_FOCUSED,LVNI_FOCUSED);
//		m_List.SetItemState(pNMListView->iItem,~LVNI_SELECTED,LVNI_SELECTED);
		int idx=m_List.GetItemData(pNMListView->iItem);
//		DeleteStrFromArray(listSelect,listWave.GetAt(idx)->szPathName);
	}
}

void CERingDlg::OnColumnclickListwave(NMHDR* pNMHDR, LRESULT* pResult) 
{
	NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
	// TODO: Add your control notification handler code here
	
	*pResult = 0;
	int idx;
	LVCOLUMN lvc;
	memset(&lvc,0,sizeof(lvc));
	idx=pNMListView->iSubItem;
	lvc.mask=LVCF_IMAGE;
	ListView_GetColumn(m_List.GetSafeHwnd(),idx,&lvc);
	sortStatus[idx]=!sortStatus[idx];
	if (sortStatus[idx])
		lvc.iImage=1;
	else
		lvc.iImage=2;
	ListView_SetColumn(m_List.GetSafeHwnd(),idx,&lvc);
	for (int i=1;i<3;i++){
		int tmp=(idx+i)%3;
		ListView_GetColumn(m_List.GetSafeHwnd(),tmp,&lvc);
		lvc.iImage=0;
		ListView_SetColumn(m_List.GetSafeHwnd(),tmp,&lvc);
	}
	switch(idx){
	case 0:{
			m_List.SortItems(CompareFunc_Name,(LPARAM) this);
			break;
		}
	case 1:{
			m_List.SortItems(CompareFunc_Date,(LPARAM) this);
			break;
		}
	case 2:{
			m_List.SortItems(CompareFunc_Size,(LPARAM) this);
			break;
		}
	}
	indexSort=idx;
}

//void CERingDlg::OnAbout() 
//{
//	// TODO: Add your control notification handler code here
//	bAbout=true;
//	CAboutDlg dlg(&bAbout);
//	dlg.DoModal();
//}

DWORD WINAPI CERingDlg::thdPlaySound(LPVOID para) {
	((CERingDlg*)para)->Preview();
	return 0;
}

void CERingDlg::OnPreview() 
{
	// TODO: Add your control notification handler code here
	DWORD ThreadId;
	HANDLE	hThread;
	hThread=CreateThread(NULL,0,(unsigned long(__cdecl*)(void*))thdPlaySound,this,0,&ThreadId);
	CloseHandle(hThread);
}

void CERingDlg::OnStop() 
{
	// TODO: Add your control notification handler code here
	beStop=true;
	sndPlaySound(NULL,SND_ASYNC);
}

void CERingDlg::OnOK() 
{
	// TODO: Add extra validation here
/*	{
		GetSelectedWave();

		SetRingTone(listSelect);
		
		ReleaseData();
		listWave.RemoveAll();
		listRing.RemoveAll();
		listSelect.RemoveAll();

		bAbout=true;
		CDialog::OnOK();
	}
*/
	if (!m_exit){
		m_exit=true;
		return;
	}

	GetSelectedWave();

	SetRingTone(listSelect);
		
	ReleaseData();
	listWave.RemoveAll();
	listRing.RemoveAll();
	listSelect.RemoveAll();

	bAbout=true;

	CDialog::OnOK();
}

void CERingDlg::OnSize(UINT nType, int cx, int cy) 
{
	CDialog::OnSize(nType, cx, cy);
	
	// TODO: Add your message handler code here
	CRect rt;
	int y;
	CButton *btn;
	btn=(CButton *)GetDlgItem(IDC_PREVIEW);
	btn->GetWindowRect(&rt);
	ScreenToClient(&rt);
	y=rt.bottom+3;
	m_List.GetWindowRect(&rt);
	rt.top=y;
	rt.bottom=cy-3;
	m_List.MoveWindow(&rt);
}

void CERingDlg::GetWaveList(CString path,BOOL bSub)
{
	WIN32_FIND_DATA findData;
	TCHAR szDir[MAX_PATH];
	HANDLE fileHandle;
	CStringArray m_filter;
	CString sub;
	FINDDATA pData;
	int i;
	m_filter.SetSize(0);
	CString suffix;
	suffix.LoadString(IDS_SUFFIX);
	while(suffix.GetLength()>0){
		i=suffix.Find(';');
		if (i<0){
			m_filter.Add(suffix);
			suffix=L"";
		}
		else{
			sub=suffix.Left(i);
			suffix=suffix.Right(suffix.GetLength()-i-1);
			sub.TrimLeft();
			sub.TrimRight();
			m_filter.Add(sub);
		}
	}
	if (m_filter.GetSize()==0)
		return;
	if (path.GetLength()==0&&bSub)
	{	
		fileHandle = FindFirstFlashCard(&findData);
		if (fileHandle != INVALID_HANDLE_VALUE)
		{	
			GetWaveList(findData.cFileName);
			
			while (FindNextFlashCard(fileHandle, &findData))
			{
				GetWaveList(findData.cFileName);
			}
				
		}
		FindClose(fileHandle);
	}
	wsprintf(szDir,path+L"\\*.*");
	fileHandle = FindFirstFile(szDir, &findData);
	if (fileHandle != INVALID_HANDLE_VALUE)
	{	
		if(findData.dwFileAttributes==FILE_ATTRIBUTE_DIRECTORY&&bSub)
		{
			GetWaveList(path+L"\\"+findData.cFileName);
		}
		else
		{
			CString tmps=findData.cFileName;
			tmps.MakeLower();
			for (i=0;i<m_filter.GetSize();i++)
			{
				CString filter=L"";
				filter=m_filter.GetAt(i);
				filter=filter.Right(filter.GetLength()-1);
				filter.MakeLower();
				if(tmps.Right(filter.GetLength())==filter)
				{
					pData.dwFileAttributes=findData.dwFileAttributes;
					pData.ftLastWriteTime=findData.ftCreationTime;
					pData.szFileName=findData.cFileName;
					pData.szPathName=path+L"\\"+findData.cFileName;
					pData.nFileSize=findData.nFileSizeLow;
					FillWaveList(&count,&pData);
					break;
				}
			}
		}
		
		while (FindNextFile(fileHandle, &findData))
		{
			if(findData.dwFileAttributes==FILE_ATTRIBUTE_DIRECTORY&&bSub)
			{
				GetWaveList(path+L"\\"+findData.cFileName);
			}
			else
			{	
				CString tmps=findData.cFileName;
				tmps.MakeLower();
				for (i=0;i<m_filter.GetSize();i++)
				{
					CString filter=L"";
					filter=m_filter.GetAt(i);
					filter=filter.Right(filter.GetLength()-1);
					filter.MakeLower();
					if(tmps.Right(filter.GetLength())==filter)
					{
						pData.dwFileAttributes=findData.dwFileAttributes;
						pData.ftLastWriteTime=findData.ftCreationTime;
						pData.szFileName=findData.cFileName;
						pData.szPathName=path+L"\\"+findData.cFileName;
						pData.nFileSize=findData.nFileSizeLow;
						FillWaveList(&count,&pData);
						break;
					}
				}
			}
		}
			
	}
	FindClose(fileHandle);
}

void CERingDlg::InitList()
{
	CString str;
	str.LoadString(IDS_NAME);
	imgSmall.Create(IDB_LISTSORT,15,0,RGB(0,0,0));
	HWND hHead=ListView_GetHeader(m_List.GetSafeHwnd());
	Header_SetImageList(hHead,imgSmall.GetSafeHandle());
	LVCOLUMN lvc={LVCF_FMT|LVCF_TEXT|LVCF_IMAGE|LVCF_WIDTH,LVCFMT_CENTER|LVCFMT_BITMAP_ON_RIGHT|LVCFMT_IMAGE,120,str.GetBuffer(0),0,0,0,0};
	m_List.InsertColumn(0,&lvc);
	str.LoadString(IDS_DATE);
	LVCOLUMN lvc1={LVCF_FMT|LVCF_TEXT|LVCF_IMAGE|LVCF_WIDTH,LVCFMT_CENTER|LVCFMT_BITMAP_ON_RIGHT|LVCFMT_IMAGE,80,str.GetBuffer(0),0,0,0,1};
	m_List.InsertColumn(1,&lvc1);
	str.LoadString(IDS_SIZE);
	LVCOLUMN lvc2={LVCF_FMT|LVCF_TEXT|LVCF_IMAGE|LVCF_WIDTH,LVCFMT_CENTER|LVCFMT_BITMAP_ON_RIGHT|LVCFMT_IMAGE,60,str.GetBuffer(0),0,0,0,2};
	m_List.InsertColumn(2,&lvc2);
}

void CERingDlg::FillWaveList(int *pindex,PFINDDATA pData)
{
	SYSTEMTIME systm;
	DWORD size;
	CString str;
	PFINDDATA ptr;
	BOOL bAdd=FALSE;
	ptr=new FINDDATA;
	ptr->dwFileAttributes=pData->dwFileAttributes;
	ptr->ftLastWriteTime=pData->ftLastWriteTime;
	ptr->nFileSize=pData->nFileSize;
	ptr->szFileName=pData->szFileName;
	ptr->szPathName=pData->szPathName;
	if (FindFileInArray(listWave,pData->szFileName)==-1)
	{
		listWave.Add(ptr);
		m_List.InsertItem(*pindex,pData->szFileName);
		m_List.SetItemData(*pindex,*pindex);
		FileTimeToSystemTime(&pData->ftLastWriteTime,&systm);
		str.Format(L"%d/%d/%d",systm.wYear,systm.wMonth,systm.wDay);
		m_List.SetItemText(*pindex,1,str);
		size=pData->nFileSize;
		if (size>1024){
			if (size>1048576){
				str.Format(L"%.2fM",((float)size)/1048576);
				}
			else{
				str.Format(L"%.2fK",((float)size)/1024);
			}
		}
		else{
			str.Format(L"%dB",size);
			}
		m_List.SetItemText(*pindex,2,str);
		str=pData->szPathName.Left(pData->szPathName.GetLength()-pData->szFileName.GetLength()-1);
		CString pn;
		pn.LoadString(IDS_RINGTONEFOLDER);
		if (!str.CompareNoCase(pn)){
			ListView_SetItemState (m_List.GetSafeHwnd(),*pindex, 
				UINT((int(TRUE) + 1) << 12), LVIS_STATEIMAGEMASK);
			AddStrToArray(listRing,pData->szPathName);
		}
		else{
			if (FindStrInArray(listSelect,pData->szPathName)!=-1){
				CString nn;
				nn.LoadString(IDS_RINGTONEFOLDER);
				nn+=L"\\"+pData->szFileName;
				if (FindStrInArray(listRing,nn)==-1){
					ListView_SetItemState (m_List.GetSafeHwnd(), *pindex, 
						UINT((int(TRUE) + 1) << 12), LVIS_STATEIMAGEMASK);
				}
				else{
	//				DeleteStrFromArray(listSelect,pData->szPathName);
				}
			}
		}
		*pindex+=1;
	}
}

void CERingDlg::ArrangeItems()
{
	CStatic *stc;
	CButton *btn;
	CString str;
	CDC *pdc;
	CRect rt;
	int h;

	stc=(CStatic *)GetDlgItem(IDC_MSGSHOWN);
	str.LoadString(IDS_MSGSHOWN);
	if (stc){
		CSize sz;
		stc->SetWindowText(str);
		stc->GetWindowRect(&rt);
		rt.left=8;
		rt.right=232;
		pdc=stc->GetDC();
		sz=pdc->GetTextExtent(str);
		if (sz.cx>rt.Width()){
			int i;
			i=sz.cx/rt.Width()+((sz.cx%rt.Width()>0)?1:0);
			rt.bottom=rt.top+sz.cy*i;
		}
		ScreenToClient(&rt);
		stc->MoveWindow(&rt);
		stc->ReleaseDC(pdc);
		h=rt.bottom+6;
		stc->Invalidate();
	}
	btn=(CButton *)GetDlgItem(IDC_PREVIEW);
	str.LoadString(IDS_PREVIEW);
	if (btn){

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品一区二区三区高清aⅴ | 91视频一区二区| 丁香婷婷综合色啪| 色综合色综合色综合色综合色综合| 97超碰欧美中文字幕| 欧美三级日韩在线| 67194成人在线观看| 精品国内片67194| 国产精品久久一级| 日韩高清国产一区在线| 国产精品99久久久| 91色在线porny| 欧美一级艳片视频免费观看| 日本一区二区视频在线| 午夜精品久久久久久久蜜桃app| 青青草一区二区三区| 成人av在线资源| 欧美一级日韩一级| 亚洲精品日韩专区silk| 国产乱色国产精品免费视频| 欧美色男人天堂| 国产三级精品视频| 一区二区三区欧美日韩| 天涯成人国产亚洲精品一区av| 国产一区二区在线看| 日本高清不卡aⅴ免费网站| 亚洲精品一线二线三线| 亚洲国产欧美另类丝袜| 成+人+亚洲+综合天堂| 日韩一区二区精品| 一区二区三区在线免费播放| 国产乱理伦片在线观看夜一区| 99久久精品免费观看| 欧美精品一区二区久久久| 亚洲综合色自拍一区| 成人综合激情网| 精品日韩一区二区三区免费视频| 亚洲一区日韩精品中文字幕| 丰满白嫩尤物一区二区| www精品美女久久久tv| 亚洲大尺度视频在线观看| 国产揄拍国内精品对白| 91精品国产综合久久久久久漫画 | 最好看的中文字幕久久| 国产一区91精品张津瑜| 欧美精选一区二区| 夜夜操天天操亚洲| 色偷偷88欧美精品久久久| 国产精品国产自产拍高清av王其| 久88久久88久久久| 精品国内二区三区| 九一久久久久久| 久久一二三国产| 国产高清不卡二三区| 日韩欧美亚洲国产精品字幕久久久| 午夜日韩在线观看| 4hu四虎永久在线影院成人| 一区二区激情小说| 欧美图区在线视频| 秋霞午夜鲁丝一区二区老狼| 5566中文字幕一区二区电影| 日本欧美加勒比视频| 6080国产精品一区二区| 日韩av中文字幕一区二区 | 国产一区二区三区免费看 | 粉嫩蜜臀av国产精品网站| 91麻豆精品国产91久久久久久 | 蜜臀av性久久久久蜜臀av麻豆| 欧美日本韩国一区二区三区视频| 午夜一区二区三区在线观看| 欧美精品一级二级三级| 日日夜夜精品视频天天综合网| 欧美色综合网站| 日本欧美肥老太交大片| 精品国产露脸精彩对白| 蜜臀av性久久久久蜜臀aⅴ| 精品粉嫩超白一线天av| 成人免费观看av| 亚洲免费观看高清| 色婷婷国产精品综合在线观看| 亚洲国产成人av网| 日韩一区二区三区观看| 一区二区成人在线视频| 欧美一区二区三区成人| 99国产精品久久久久久久久久| 蜜乳av一区二区| 一区二区三区四区在线播放 | 美女网站色91| 亚洲精品自拍动漫在线| 久久久久亚洲蜜桃| 777午夜精品视频在线播放| 99视频有精品| 国产成人亚洲综合a∨猫咪| 日本午夜精品一区二区三区电影 | 精品国产免费人成在线观看| 欧美亚洲综合色| 99久久精品一区二区| 国产精品中文字幕日韩精品 | 亚洲欧美色一区| 久久久精品综合| 日韩精品一区二区三区中文不卡| 91福利在线免费观看| 91亚洲精品一区二区乱码| 国产精品一区二区在线看| 裸体一区二区三区| 日韩av成人高清| 秋霞电影网一区二区| 日韩中文字幕麻豆| 肉丝袜脚交视频一区二区| 亚洲国产视频直播| 一区二区三区在线免费| 亚洲精选在线视频| 一区二区视频免费在线观看| 亚洲视频在线观看三级| 18涩涩午夜精品.www| 国产精品久久福利| 亚洲私人黄色宅男| 亚洲欧美日韩一区二区| 亚洲色图在线播放| 一区二区三区四区高清精品免费观看 | 亚洲成人激情av| 亚洲不卡av一区二区三区| 午夜精彩视频在线观看不卡| 一区二区三区**美女毛片| 亚洲一区二区三区三| 亚洲成va人在线观看| 免费欧美日韩国产三级电影| 日本网站在线观看一区二区三区| 奇米在线7777在线精品 | 一级精品视频在线观看宜春院| 亚洲男女毛片无遮挡| 亚洲一区二区三区不卡国产欧美 | 精品一区中文字幕| 国产精选一区二区三区| 成人午夜免费电影| 在线视频一区二区三| 欧美三级电影精品| 日韩视频在线一区二区| 久久先锋资源网| 亚洲色欲色欲www在线观看| 亚洲一区二区四区蜜桃| 蜜臀av一级做a爰片久久| 国产精品乡下勾搭老头1| 97se亚洲国产综合在线| 欧美丰满嫩嫩电影| 国产色一区二区| 一区二区三区日韩在线观看| 免费在线看成人av| 国产v日产∨综合v精品视频| 91精彩视频在线| 精品国产乱码久久久久久免费| 国产精品无人区| 日本女优在线视频一区二区| 国产精品夜夜嗨| 欧美日韩色综合| 国产视频一区二区在线观看| 亚洲一区二区三区四区的| 国内久久婷婷综合| 91黄色免费看| 久久久精品黄色| 性做久久久久久| 高清国产午夜精品久久久久久| 欧美日韩综合在线| 国产亚洲va综合人人澡精品| 亚洲国产三级在线| 国产成人丝袜美腿| 欧美一区二区视频免费观看| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 久久精品亚洲一区二区三区浴池| 亚洲欧洲精品一区二区精品久久久| 无吗不卡中文字幕| 9l国产精品久久久久麻豆| 在线播放欧美女士性生活| 最新久久zyz资源站| 奇米影视7777精品一区二区| 91浏览器打开| 欧美高清一级片在线观看| 午夜欧美大尺度福利影院在线看| 丰满亚洲少妇av| 欧美大片免费久久精品三p| 亚洲男同性恋视频| 成人免费视频免费观看| 日韩精品一区二区三区swag| 一区二区三区高清不卡| 成人午夜又粗又硬又大| 亚洲精品在线免费观看视频| 日韩制服丝袜先锋影音| 欧美影视一区在线| 亚洲日本在线天堂| av在线不卡电影| 日本一区二区三区在线观看| 国产在线国偷精品免费看| 日韩精品一区二区三区在线播放 | 精品午夜久久福利影院 | 色婷婷综合在线| 亚洲欧美激情一区二区| 成人免费精品视频| 国产精品卡一卡二卡三| 国产不卡一区视频| 欧美国产一区二区|