📄 lookpage1.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 + -