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

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

?? eringdlg.cpp

?? 這是一個(gè)PDA上的鈴聲程序
?? CPP
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
// 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){

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美在线视频你懂得| 欧美日韩亚洲国产综合| 亚洲成a人片在线观看中文| 久久综合色综合88| 欧美日韩午夜在线| 99精品热视频| 国产凹凸在线观看一区二区| 麻豆精品国产传媒mv男同| 一区二区三区波多野结衣在线观看| 精品久久久久久久久久久久包黑料 | 欧美哺乳videos| 在线视频国内自拍亚洲视频| 成人动漫av在线| 国产毛片精品视频| 久久国产福利国产秒拍| 天堂成人国产精品一区| 亚洲另类在线视频| 一区精品在线播放| 中文字幕精品—区二区四季| 精品国产乱码久久| 日韩精品最新网址| 欧美一区永久视频免费观看| 欧美色图天堂网| 一本久久综合亚洲鲁鲁五月天| 国产999精品久久久久久绿帽| 精品一区二区三区视频在线观看| 天天综合天天综合色| 夜夜嗨av一区二区三区四季av| 国产精品久久久久桃色tv| 国产欧美一区二区在线| 国产日产精品一区| 国产日韩欧美精品一区| 久久久久久久久99精品| 久久精品一级爱片| 久久久久久久久蜜桃| 久久精品亚洲麻豆av一区二区| 欧美本精品男人aⅴ天堂| 日韩欧美亚洲国产精品字幕久久久| 欧美日韩免费视频| 欧美精品一二三| 欧美福利视频一区| 91精品国产福利| 91精品国产综合久久精品app| 欧美日本视频在线| 欧美一区二区三区免费视频| 欧美肥妇bbw| 精品国产百合女同互慰| 久久综合九色综合欧美就去吻 | 成人在线视频一区| 成人a免费在线看| 91蝌蚪porny九色| 91免费视频大全| 欧美亚洲一区二区在线观看| 国产美女精品在线| 亚洲日本丝袜连裤袜办公室| 亚洲欧美视频在线观看视频| 亚洲最大成人综合| 午夜精品久久久久久久99水蜜桃| 日韩电影在线一区二区三区| 经典三级一区二区| 成人综合在线观看| 欧美三级在线播放| 欧美精品一区二区久久久 | 欧美国产丝袜视频| 成人欧美一区二区三区白人 | 亚洲6080在线| 国产精品主播直播| 色激情天天射综合网| 51午夜精品国产| 久久久99久久精品欧美| 亚洲蜜桃精久久久久久久| 日韩国产欧美在线播放| 国产盗摄女厕一区二区三区| 色综合激情久久| 日韩小视频在线观看专区| 99国产精品久久久| 久久久久久亚洲综合影院红桃| 国产性做久久久久久| 国产精品久久久久天堂| 午夜欧美电影在线观看| 国产综合成人久久大片91| 99国产精品国产精品久久| 欧美精品高清视频| 国产精品午夜在线观看| 天天色综合成人网| 成人精品一区二区三区中文字幕 | 5月丁香婷婷综合| 国产精品免费看片| 男男视频亚洲欧美| 色综合天天狠狠| 久久伊人蜜桃av一区二区| 亚洲一卡二卡三卡四卡无卡久久| 老色鬼精品视频在线观看播放| av不卡免费在线观看| 精品国产a毛片| 一区二区三区在线高清| 成人av电影在线网| 欧美三区在线视频| 国产精品久久久一本精品 | 欧美激情一区三区| 日本欧美一区二区在线观看| 在线一区二区三区四区| 国产人伦精品一区二区| 精品一区精品二区高清| 欧美日韩久久一区二区| 国产精品视频免费看| 精品一区二区在线免费观看| 在线精品亚洲一区二区不卡| 亚洲国产精品成人久久综合一区| 久久99久久久久久久久久久| 欧美亚洲综合色| 亚洲欧美日韩一区二区三区在线观看 | 中文字幕国产一区| 激情另类小说区图片区视频区| 欧美日韩中文字幕精品| 亚洲素人一区二区| 成人av电影观看| 国产日韩精品一区| 国产精品12区| 国产亚洲精久久久久久| 日本午夜一区二区| 5月丁香婷婷综合| 天堂一区二区在线| 4hu四虎永久在线影院成人| 性久久久久久久久| 欧美三级电影一区| 亚洲网友自拍偷拍| 欧美探花视频资源| 天天综合天天做天天综合| 欧美视频完全免费看| 亚洲第一精品在线| 欧美精品欧美精品系列| 日产国产欧美视频一区精品| 777奇米成人网| 久久精品国产精品青草| 日韩久久久久久| 精品亚洲aⅴ乱码一区二区三区| 日韩欧美在线影院| 精品一区二区在线观看| 久久精品免视看| 本田岬高潮一区二区三区| 国产精品福利影院| 一本一本久久a久久精品综合麻豆| 亚洲免费电影在线| 欧美喷水一区二区| 麻豆国产精品777777在线| 欧美va亚洲va在线观看蝴蝶网| 国产一区二区精品久久91| 国产日韩精品一区二区浪潮av| 成人黄页毛片网站| 亚洲一区二区三区爽爽爽爽爽| 8v天堂国产在线一区二区| 久久国产麻豆精品| 欧美韩国日本不卡| 一本久道中文字幕精品亚洲嫩| 亚洲在线成人精品| 日韩一区二区三区免费看| 国产一区二区三区四区五区美女 | 夜色激情一区二区| 欧美一级欧美一级在线播放| 国产福利视频一区二区三区| 亚洲三级在线看| 欧美一激情一区二区三区| 国产精品综合av一区二区国产馆| 中文字幕中文字幕一区二区| 欧美制服丝袜第一页| 精品一区二区三区在线播放| 免费人成在线不卡| 久久久久免费观看| 色域天天综合网| 久久av资源网| 一区二区在线观看视频| 日韩一区二区电影在线| 国产91对白在线观看九色| 亚洲午夜视频在线| 欧美mv日韩mv国产| 91黄视频在线| 国产在线精品国自产拍免费| 一区二区三区高清| 久久久久久夜精品精品免费| 欧美三级日韩在线| 丁香六月综合激情| 美日韩一区二区三区| 亚洲九九爱视频| 久久精品人人做| 欧美精品一卡二卡| 91原创在线视频| 久久99热99| 亚洲成人综合在线| 中文字幕视频一区二区三区久| 欧美理论电影在线| 99久久国产综合精品色伊| 裸体在线国模精品偷拍| 亚洲精品高清视频在线观看| 久久久国产精品麻豆| 欧美卡1卡2卡| 91蜜桃在线观看| 国产精华液一区二区三区| 亚洲chinese男男1069| 国产精品人妖ts系列视频|