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

📄 scanner.cpp

📁 阮秋琦的数字图像处理学一书所附的代码
💻 CPP
字号:
// Scanner.cpp : implementation file
//

#include "stdafx.h"
#include "DIPDemo.h"
#include "Scanner.h"

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

/////////////////////////////////////////////////////////////////////////////
// CScanner dialog


CScanner::CScanner(CWnd* pParent /*=NULL*/)
	: CDialog(CScanner::IDD, pParent)
{
	//{{AFX_DATA_INIT(CScanner)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void CScanner::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CScanner)
		// NOTE: the ClassWizard will add DDX and DDV calls here
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CScanner, CDialog)
	//{{AFX_MSG_MAP(CScanner)
	ON_BN_CLICKED(IDC_SELECT, OnSelect)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CScanner message handlers

void CScanner::OnSelect() 
{
	// TODO: Add your control notification handler code here
	CFileDialog dlg(TRUE,0,0,OFN_HIDEREADONLY,"应用程序|*.exe||",this);
	if (dlg.DoModal()==IDOK)
	{
		scanner=dlg.GetPathName();
		scanner_name=scanner.Mid(scanner.ReverseFind('\\')+1);
		SetDlgItemText(IDC_SCANNER,scanner_name);
		CFile file;
		if (file.Open(path+"scanner.txt",CFile::modeWrite|CFile::modeCreate))
		{
			file.Write((LPCSTR)scanner,scanner.GetLength());
		}
	}
}

BOOL CScanner::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	path=AfxGetApp()->m_pszHelpFilePath;
	path=path.Left(path.ReverseFind('\\')+1);
	CFile file;
	char buf[260];
	int len;
	if (file.Open(path+"scanner.txt",CFile::modeRead))
	{
		len=file.Read(buf,260);
		buf[len]=0;
		scanner=buf;
		scanner_name=scanner.Mid(scanner.ReverseFind('\\')+1);
		scanner_path=scanner.Left(scanner.ReverseFind('\\'));
	}
	SetDlgItemText(IDC_SCANNER,scanner_name);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CScanner::OnOK() 
{
	// TODO: Add extra validation here
	if (scanner.IsEmpty()) MessageBox("请指定一个扫描软件");
	else CDialog::OnOK();
}

⌨️ 快捷键说明

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