⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lookpage1.cpp

📁 对文件进行处理。 包括文件复制、分割、连接、查看等。
💻 CPP
字号:
// LookPage.cpp : implementation file
//

#include "stdafx.h"
#include "Made.h"
#include "LookPage.h"

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

/////////////////////////////////////////////////////////////////////////////
// CLookPage property page

IMPLEMENT_DYNCREATE(CLookPage, CPropertyPage)

CLookPage::CLookPage() : CPropertyPage(CLookPage::IDD)
{
	//{{AFX_DATA_INIT(CLookPage)
	m_Asc = _T("");
	m_Str = _T("");
	m_Sit = _T("");
	//}}AFX_DATA_INIT
}

CLookPage::~CLookPage()
{
}

void CLookPage::DoDataExchange(CDataExchange* pDX)
{
	CPropertyPage::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CLookPage)
	DDX_Control(pDX, IDC_LOOK_SCROLLBAR, m_ScrollBar);
	DDX_Control(pDX, IDC_LOOK_FILE, m_File);
	DDX_Text(pDX, IDC_LOOK_ASC, m_Asc);
	DDX_Text(pDX, IDC_LOOK_STR, m_Str);
	DDX_Text(pDX, IDC_LOOK_SIT, m_Sit);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CLookPage, CPropertyPage)
	//{{AFX_MSG_MAP(CLookPage)
	ON_BN_CLICKED(IDC_LOOK, OnLook)
	ON_EN_CHANGE(IDC_LOOK_ASC, OnChangeLookAsc)
	ON_BN_CLICKED(IDC_LOOK_LOOK, OnLookLook)
	ON_EN_CHANGE(IDC_LOOK_SIT, OnChangeLookSit)
	ON_EN_CHANGE(IDC_LOOK_STR, OnChangeLookStr)
	ON_WM_VSCROLL()
	ON_EN_CHANGE(IDC_LOOK_FILE, OnChangeLookFile)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CLookPage message handlers

void CLookPage::OnLook() 
{
	// TODO: Add your control notification handler code here
	
}

void CLookPage::OnChangeLookAsc() 
{
	UpdateData();
	m_Str.Empty();
	CString str=m_Asc;
	if(str.Right(2).CompareNoCase("\r\n"))
		str+="\r\n";
	int fd=0,sit=0;
	CString tempstr;
	while(!str.Right(2).CompareNoCase("\r\n"))
	{
		if(fd++>50)break;
		sit=str.Find(13);
		tempstr.Format("%c",atoi(str.Left(sit)));
		m_Str+=tempstr;
		str.Delete(0,sit+2);
	}
	UpdateData(0);
	// TODO: If this is a RICHEDIT control, the control will not
	// send this notification unless you override the CPropertyPage::OnInitDialog()
	// function and call CRichEditCtrl().SetEventMask()
	// with the ENM_CHANGE flag ORed into the mask.
	
	// TODO: Add your control notification handler code here
	
}

void CLookPage::OnLookLook() 
{
	// TODO: Add your control notification handler code here
	
}

void CLookPage::OnChangeLookSit() 
{
}

void CLookPage::OnChangeLookStr() 
{
	UpdateData();
	m_Asc.Empty();
	CString str;
	for(int i=m_Str.GetLength()-1;i>=0;i--)
	{
		str.Format("%d\r\n",m_Str.GetAt(i));
		m_Asc=str+m_Asc;
	}
	UpdateData(0);
}

void CLookPage::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 
{
	// TODO: Add your message handler code here and/or call default
	if(pScrollBar->GetDlgCtrlID()==IDC_LOOK_SCROLLBAR)
	{
		m_ScrollBar.GetScrollInfo(&m_ScrollInfo);
		switch(nSBCode)
		{
		case SB_LINELEFT:
			break;
		case SB_LINERIGHT:
				break;
		case SB_PAGELEFT:
				break;
		case SB_PAGERIGHT:
				break;
		case SB_THUMBTRACK:
			CString str;
			m_File.GetWindowText(str);
			pfile=fopen(str,"rb");
			m_ScrollInfo.nPos=nPos;
			m_ScrollInfo.nPage=17/filelength(pfile->_file)*NUM;
			m_ScrollBar.SetScrollInfo(&m_ScrollInfo);
			DWORD ft=filelength(pfile->_file)*nPos/NUM;
			m_Sit.Format("%ld",ft);
			fseek(pfile,ft,0);
			char buf[17];
			fread(buf,17,1,pfile);
			m_Asc.Empty();
			for(int i=0;i<17;i++)
			{
				str.Format("%d\r\n",buf[i]);
				m_Asc+=str;
			}
				UpdateData(0);
				break;
		}
	}
	
	CPropertyPage::OnVScroll(nSBCode, nPos, pScrollBar);
}

void CLookPage::OnChangeLookFile() 
{
	CString str;
	m_File.GetWindowText(str);
	if(pfile=fopen(str,"rb"))
	{
		m_Asc.Empty();
		char buf[17];
		fread(buf,17,1,pfile);
		fclose(pfile);
		for(int i=0;i<17;i++)
		{
			str.Format("%d\r\n",buf[i]);
			m_Asc+=str;
		}
		UpdateData(0);
		OnChangeLookAsc();
		GetDlgItem(IDC_LOOK_ASC)->EnableWindow();	
		GetDlgItem(IDC_LOOK_STR)->EnableWindow();	
	}
	else
	{
		GetDlgItem(IDC_LOOK_ASC)->EnableWindow(0);	
		GetDlgItem(IDC_LOOK_STR)->EnableWindow(0);	
	}
	UpdateData(0);
}

BOOL CLookPage::OnInitDialog() 
{
	CPropertyPage::OnInitDialog();
	
	// TODO: Add extra initialization here
	m_ScrollBar.SetScrollRange(0,NUM);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -