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

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

?? mainfrm.cpp

?? 一個wince的TEXT閱讀器源代碼
?? CPP
字號:
// MainFrm.cpp : implementation of the CMainFrame class
//

#include "stdafx.h"
#include "ReadTxt.h"
#include <Afxdlgs.h>
#include "MainFrm.h"




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

// Array tbSTDButton contains relevant buttons of bitmap IDB_STD_SMALL_COLOR
static TBBUTTON tbButtons[] = {
	{0, 0,				TBSTATE_ENABLED, TBSTYLE_SEP,    0, 0, 0,  0},  
	{0,ID_FILE_NEW,	TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0, 0, -1},
	{1, ID_FILE_OPEN,	TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0, 0, -1},
	{2, ID_FILE_SAVE,	TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0, 0, -1},
	{0, 0,				TBSTATE_ENABLED, TBSTYLE_SEP,    0, 0, 0,  0},  

	{3, ID_SYNTH_PLAY_ALL,	TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0, 0, -1},
	{4, ID_SYNTH_PLAY,	TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0, 0, -1},
	{5, ID_SYNTH_PAUSE,	TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0, 0, -1},
	{6, ID_SYNTH_STOP,	TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0, 0, -1},
	{0, 0,					TBSTATE_ENABLED, TBSTYLE_SEP,    0, 0, 0,  0}
 
};
const int nNumButtons = sizeof(tbButtons)/sizeof(TBBUTTON);
const int nNumImages = 7;
const DWORD dwAdornmentFlags = 0; // exit button

#define WM_TTS_ATTRCHANGE	WM_USER + 0
#define WM_TTS_PROGRESS		WM_USER + 1

/////////////////////////////////////////////////////////////////////////////
// CMainFrame

IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)

BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
		ON_WM_CREATE()
		ON_COMMAND(ID_FILE_OPEN, OnFileOpen)
		ON_COMMAND(ID_FILE_SAVE, OnFileSave)
		ON_COMMAND(ID_FILE_NEW, OnFileNew)
		ON_COMMAND(ID_EDIT_UNDO, OnEditUndo)
		ON_COMMAND(ID_EDIT_CUT, OnEditCut)
		ON_COMMAND(ID_EDIT_COPY, OnEditCopy)
		ON_COMMAND(ID_EDIT_PASTE, OnEditPaste)
	
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/*
	ON_COMMAND(ID_SYNTH_PLAY_ALL, OnSynthPlayAll)
		ON_UPDATE_COMMAND_UI(ID_SYNTH_PLAY_ALL, OnUpdateSynthPlayAll)
		ON_COMMAND(ID_SYNTH_PAUSE, OnSynthPause)
		ON_UPDATE_COMMAND_UI(ID_SYNTH_PAUSE, OnUpdateSynthPause)
		ON_COMMAND(ID_SYNTH_PLAY, OnSynthPlay)
		ON_UPDATE_COMMAND_UI(ID_SYNTH_PLAY, OnUpdateSynthPlay)
		ON_COMMAND(ID_SYNTH_STOP, OnSynthStop)
		ON_UPDATE_COMMAND_UI(ID_SYNTH_STOP, OnUpdateSynthStop)
		ON_MESSAGE(WM_TTS_ATTRCHANGE, OnSynthAttrChange)
		ON_MESSAGE(WM_TTS_PROGRESS, OnSynthProgress)

*/
/////////////////////////////////////////////////////////////////////////////
// CMainFrame construction/destruction

CMainFrame::CMainFrame()
{
//	m_nState = TTSSTATE_STOP;
//	m_pText = NULL;	
}

CMainFrame::~CMainFrame()
{
	if ( m_pText )
		delete[] m_pText;
}

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
		return -1;
	
	// Add the buttons and adornments to the CommandBar.
	if (!InsertButtons(tbButtons, nNumButtons, IDR_MAINFRAME, nNumImages) ||
		!AddAdornments(dwAdornmentFlags))
	{
		TRACE0("Failed to add toolbar buttons\n");
		return -1;
	}
	int width,height;
	width=::GetSystemMetrics(SM_CXVIRTUALSCREEN);
	height=::GetSystemMetrics(SM_CYVIRTUALSCREEN);
	
	RECT rc={1,26,width,height};
	//	RECT rc={2,26,218,293};
	theApp.EditList.Create(ES_AUTOVSCROLL|WS_VSCROLL|ES_MULTILINE| WS_BORDER|ES_LEFT,rc,this,IDC_VIEW_EDIT);
	theApp.EditList.SetFocus();
	theApp.EditList.ShowWindow(true);
	
	return 0;
}

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
	if( !CFrameWnd::PreCreateWindow(cs) )
		return FALSE;
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs
	
	
	return TRUE;
}


/////////////////////////////////////////////////////////////////////////////
// CMainFrame diagnostics

#ifdef _DEBUG
void CMainFrame::AssertValid() const
{
	CFrameWnd::AssertValid();
}

void CMainFrame::Dump(CDumpContext& dc) const
{
	CFrameWnd::Dump(dc);
}

#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CMainFrame message handlers

void CMainFrame::OnFileOpen() 
{
	CString str;
	unsigned char HeaderCharbuf[2]={0};		
//	CListCtrl a;
	
//	PathFileNdlg dlg=new PathFileNdlg;	

//	if (dlg.DoModal() == IDOK)
//	{
//		str= dlg.GetFilePath();
	
	TCHAR szFilters[]=L"文件類型 (*.txt)|*.txt|All Files (*.*)|*.*||";
	  CFileDialog fileDlg(FALSE, _T("txt"), _T("*.txt"),OFN_PATHMUSTEXIST, szFilters, this);
	  if(IDOK==fileDlg.DoModal())
	  {
		 str=fileDlg.GetPathName();

		RETAILMSG(TRUE, (L"得到文件:%s!\r\n",str));
		if(str==L"")return ;
		WIN32_FIND_DATA findFileData;
		HANDLE			hFind;		
		hFind = FindFirstFile(str, &findFileData);    	
		if(hFind == INVALID_HANDLE_VALUE){ ::CloseHandle(hFind); return;}
		if(findFileData.dwFileAttributes== FILE_ATTRIBUTE_DIRECTORY ||  findFileData.dwFileAttributes==272)
		{
			RETAILMSG(TRUE, (L"OK,查找文件,找到的是目錄!\r\n"));
			::CloseHandle(hFind);
			return;
		}

		

		HANDLE mFile;
		DWORD dwSize,ReadSize=0,cbyte=0;
		int len=0;
		mFile=CreateFile(str,GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
		dwSize = GetFileSize (mFile, NULL) ;
		char* databuf;
		str=""; 
	 
			CString str1=""; 
			databuf=new char[dwSize+2];
			memset(databuf,0,dwSize+2);
			SetFilePointer(mFile,ReadSize,NULL,FILE_BEGIN);
			ReadFile(mFile,databuf,dwSize,&cbyte,NULL);
			memcpy(HeaderCharbuf,databuf,2);

			
			if((HeaderCharbuf[0]==0xff) && (HeaderCharbuf[1]==0xfe))
			{
				int i=2,j=0;
				TCHAR *pbuf=new TCHAR[dwSize/2+2];
				memset(pbuf,0,dwSize/2+2);
				for(;i<(int)dwSize;i++)
				{
					if(i%2==0)
						pbuf[j]=databuf[i];
					else
					{
						pbuf[j]&=0xff;
						pbuf[j]+=databuf[i]<<8;
						j++;
					}
				}
				//str=pbuf;
				SetDlgItemText(IDC_VIEW_EDIT,pbuf);
					delete []pbuf;
			}
			else
			{ 
			TCHAR *pbuf=new TCHAR[dwSize+2];
			memset(pbuf,0,dwSize+2);
			MultiByteToWideChar(CP_ACP,	NULL,databuf,strlen(databuf),pbuf, strlen(databuf));
				str=databuf;
				SetDlgItemText(IDC_VIEW_EDIT,str);
				 
				delete []pbuf;
			} 
			
			
		
		
		
		theApp.EditList.SetFocus();
		theApp.EditList.Invalidate(true);
		CloseHandle(mFile);
		delete []databuf;
		
	}
	
}

void CMainFrame::OnFileSave() 
{
	CString str;
	char buf[256]={0};
	TCHAR szFilters[]=L"文件類型 (*.txt)|*.txt|All Files (*.*)|*.*||";
	CFileDialog fileDlg(FALSE, _T("txt"), _T("*.txt"),OFN_PATHMUSTEXIST, szFilters, this);
	if(IDOK==fileDlg.DoModal())
	{
		str=fileDlg.GetPathName();	
		HANDLE mFile;
		mFile=CreateFile(str,GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ,NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
		CString datastr;		
		unsigned short *pData=datastr.GetBuffer(0);
		GetDlgItemText(IDC_VIEW_EDIT,datastr);
		
		DWORD dwSize,ReadSize=0,len=0,cbyte=0;
		dwSize=datastr.GetLength();
		
		while(ReadSize<dwSize)
		{
			memset(buf,0,sizeof(buf));
			if((dwSize-ReadSize)>128)len=128;else len=dwSize-ReadSize;
			WideCharToMultiByte(CP_ACP,WC_COMPOSITECHECK,datastr.GetBuffer(0)+ReadSize,len,buf,256,NULL,NULL);
			SetFilePointer(mFile,ReadSize,NULL,FILE_BEGIN);
			WriteFile(mFile,buf,strlen(buf),&cbyte,NULL);
			ReadSize=ReadSize+strlen(buf);
			
		}
		CloseHandle(mFile);
	}
}

void CMainFrame::OnFileNew() 
{
	CString str=L"";
	SetDlgItemText(IDC_VIEW_EDIT,str);
}

void CMainFrame::OnEditUndo() 
{
	theApp.EditList.Undo();
	
}

void CMainFrame::OnEditCut() 
{
	theApp.EditList.Cut();
	
}

void CMainFrame::OnEditCopy() 
{
	theApp.EditList.Copy();
	
}

void CMainFrame::OnEditPaste() 
{
	theApp.EditList.Paste();
}
/*
void CMainFrame::LockText()
{
	theApp.EditList.SetReadOnly();
	if ( m_pText )
		delete[] m_pText;
	int nLength = theApp.EditList.GetWindowTextLength() + 1;
	m_pText = new TCHAR[nLength];
	theApp.EditList.GetWindowText(m_pText, nLength);
}

void CMainFrame::UnlockText()
{
	delete[] m_pText;
	m_pText = NULL;
	theApp.EditList.SetReadOnly(FALSE);
}

void CMainFrame::OnSynthPlayAll() 
{
	LockText();
	m_nStart = 0;
	SynthText(m_pText);
}

void CMainFrame::OnUpdateSynthPlayAll(CCmdUI* pCmdUI) 
{
	pCmdUI->Enable(TTSSTATE_STOP == m_nState && theApp.EditList.GetWindowTextLength());
}

void CMainFrame::OnSynthPause() 
{
	Pause();	
}

void CMainFrame::OnUpdateSynthPause(CCmdUI* pCmdUI) 
{
	pCmdUI->Enable(TTSSTATE_PLAY == m_nState);
	
}

void CMainFrame::OnSynthPlay() 
{
	if ( TTSSTATE_STOP == GetState() )
	{
		LockText();
		DWORD dwSel =theApp.EditList.GetSel();
		m_nStart = LOWORD(dwSel);
		WORD nLength = HIWORD(dwSel) - m_nStart;
		if ( nLength == 0 )
			SynthText(m_pText + m_nStart);
		else
			SynthText(m_pText + m_nStart, nLength);
	}
	else
		Resume();
	
}

void CMainFrame::OnUpdateSynthPlay(CCmdUI* pCmdUI) 
{
	pCmdUI->Enable(m_nState != TTSSTATE_PLAY && theApp.EditList.GetWindowTextLength());
	
}

void CMainFrame::OnSynthStop() 
{
	Cancel();	
}

void CMainFrame::OnUpdateSynthStop(CCmdUI* pCmdUI) 
{
pCmdUI->Enable(m_nState != TTSSTATE_STOP);
}


LRESULT CMainFrame::OnSynthAttrChange(WPARAM wParam, LPARAM lParam)
{
	if ( TTSATTR_STATE == wParam )
	{
		m_nState = lParam;

		if ( TTSSTATE_STOP == lParam )
			UnlockText();
	}

	return 0;
}

TTSERROR CMainFrame::OnAttrChange(TTSDWORD dwAttrId, TTSVAR varAttrValue)
{
	PostMessage(WM_TTS_ATTRCHANGE, (WPARAM)dwAttrId, (LPARAM)varAttrValue);
	return CIsPlayer4::OnAttrChange(dwAttrId, varAttrValue);
}

LRESULT CMainFrame::OnSynthProgress(WPARAM wParam, LPARAM lParam)
{
	theApp.EditList.SetSel(m_nStart + (int)wParam, m_nStart + (int)lParam);
	return 0;
}

TTSERROR CMainFrame::OnProgress(TTSDWORD dwProcPos, TTSDWORD dwProcLen)
{
	PostMessage(WM_TTS_PROGRESS, dwProcPos / sizeof(TCHAR), (dwProcPos + dwProcLen) / sizeof(TCHAR));
	return CIsPlayer4::OnProgress(dwProcPos, dwProcLen);
}
*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲乱码国产乱码精品精98午夜| 欧美成人精品福利| 亚洲精品国产高清久久伦理二区| 成人黄色综合网站| 亚洲天天做日日做天天谢日日欢| 99精品国产热久久91蜜凸| 综合分类小说区另类春色亚洲小说欧美| 国产高清在线精品| 亚洲品质自拍视频| 欧美日精品一区视频| 免费在线看一区| 国产日产欧产精品推荐色| 国产98色在线|日韩| 国产精品国产精品国产专区不片| 色视频欧美一区二区三区| 午夜电影一区二区| 久久综合中文字幕| 色婷婷综合久色| 日本va欧美va欧美va精品| 久久精品欧美日韩| 在线看日韩精品电影| 久久99在线观看| 国产精品理伦片| 欧美日韩mp4| 国产成人av电影在线| 亚洲成人激情社区| 国产网红主播福利一区二区| 一本色道久久综合亚洲aⅴ蜜桃| 午夜精品久久一牛影视| 国产欧美日产一区| 在线播放中文一区| 不卡视频一二三四| 麻豆精品视频在线观看视频| 国产精品成人免费在线| 欧美一区二区视频观看视频| 成人午夜av在线| 日韩在线一二三区| 成人欧美一区二区三区视频网页| 91精品国产综合久久久蜜臀粉嫩 | 欧美精品三级在线观看| 国产福利精品一区二区| 天天操天天干天天综合网| 中文在线资源观看网站视频免费不卡| 欧美在线观看一区二区| 成人午夜精品在线| 国产制服丝袜一区| 天天av天天翘天天综合网| 国产精品久久久久久久蜜臀| 精品毛片乱码1区2区3区| 91香蕉视频黄| 国产麻豆精品在线观看| 免费成人在线网站| 亚洲第一电影网| 亚洲情趣在线观看| 国产精品理伦片| 久久久精品影视| 欧美一区2区视频在线观看| 91福利在线播放| 成人精品国产免费网站| 国产精品白丝jk白祙喷水网站 | 国产精品免费视频一区| 精品国产乱码久久久久久影片| 欧美日韩在线免费视频| 色综合网站在线| 不卡影院免费观看| 成a人片亚洲日本久久| 国产成人精品一区二区三区网站观看| 久久国产麻豆精品| 日av在线不卡| 麻豆精品一区二区综合av| 日韩av一二三| 五月天激情综合网| 偷拍日韩校园综合在线| 亚洲高清在线精品| 亚洲成人资源在线| 日韩制服丝袜av| 日韩精品免费专区| 久久精品国产免费| 久草这里只有精品视频| 久久66热偷产精品| 国产一区二区三区蝌蚪| 国产精品99久久久久| 国产成人综合在线观看| 大尺度一区二区| 成人免费视频视频在线观看免费 | 国产乱码精品一区二区三区av| 九九热在线视频观看这里只有精品| 男女激情视频一区| 国产一区二区免费看| 国产成人精品免费网站| 粉嫩嫩av羞羞动漫久久久| 成人精品一区二区三区四区| 91在线视频观看| 欧美影视一区二区三区| 3d动漫精品啪啪一区二区竹菊 | 久久新电视剧免费观看| 欧美国产综合色视频| 1000部国产精品成人观看| 亚洲午夜久久久久中文字幕久| 丝袜脚交一区二区| 国产精品一区在线观看乱码| 99精品国产91久久久久久 | 欧美日本在线播放| 日韩午夜在线影院| 中文字幕乱码久久午夜不卡 | 欧美午夜精品久久久| 制服视频三区第一页精品| 精品国产免费久久| 亚洲美女视频在线| 蜜桃视频一区二区三区 | 综合激情网...| 午夜国产不卡在线观看视频| 国产乱妇无码大片在线观看| 一本色道久久综合精品竹菊| 日韩一区二区免费在线电影| 国产精品网站在线| 首页国产欧美久久| 成人性色生活片免费看爆迷你毛片| 欧美日韩一区二区不卡| 精品久久久久久久久久久院品网 | 欧美日韩精品一区二区三区蜜桃 | 欧美日本在线播放| 国产精品视频第一区| 天天色图综合网| www.在线成人| 欧美成人一级视频| 亚洲午夜精品17c| 国产宾馆实践打屁股91| 欧美日本在线看| 自拍av一区二区三区| 久久er精品视频| 欧美在线一二三四区| 中文字幕精品一区二区三区精品| 日韩一区精品视频| 色综合久久综合网97色综合 | 国产99精品国产| 欧美一级免费大片| 亚洲精品国产a久久久久久| 国产自产2019最新不卡| 欧美日韩aaa| 亚洲美女屁股眼交3| 国产69精品久久久久毛片| 日韩视频在线你懂得| 亚洲午夜激情av| 91色乱码一区二区三区| 国产欧美一区二区精品性色超碰| 六月丁香婷婷久久| 欧美日韩亚洲另类| 亚洲最新视频在线观看| 不卡一二三区首页| 久久女同性恋中文字幕| 美腿丝袜亚洲色图| 欧美色图片你懂的| 亚洲黄色免费网站| 日本道在线观看一区二区| 国产精品私人影院| 成人黄色在线看| 国产精品污网站| 懂色av噜噜一区二区三区av| 国产午夜亚洲精品理论片色戒| 裸体歌舞表演一区二区| 日韩一区二区三区免费看| 蜜臀av亚洲一区中文字幕| 在线成人午夜影院| 天天色 色综合| 在线成人高清不卡| 麻豆成人av在线| 2021国产精品久久精品| 国产乱国产乱300精品| 久久九九全国免费| 成人国产电影网| 亚洲三级在线播放| 91久久精品午夜一区二区| 亚洲一区二区三区在线播放| 欧美日韩一区二区三区在线看| 亚洲成人动漫在线观看| 91精品在线观看入口| 久久超级碰视频| 久久久亚洲国产美女国产盗摄 | 色婷婷综合五月| 亚洲va天堂va国产va久| 日韩一级二级三级精品视频| 激情综合色播激情啊| 国产欧美一区二区在线| 99riav一区二区三区| 亚洲第一av色| 日韩免费性生活视频播放| 国产原创一区二区三区| 国产精品久线观看视频| 欧美性猛交xxxx黑人交| 日本亚洲视频在线| 久久影院视频免费| 色综合天天天天做夜夜夜夜做| 樱桃视频在线观看一区| 日韩亚洲国产中文字幕欧美| 国产成人在线观看| 一级日本不卡的影视| 日韩一卡二卡三卡四卡| www.色精品| 日韩电影在线观看电影|