添加项目文件。
This commit is contained in:
parent
10b8d9d403
commit
edd4c86ba4
31
Multichannel Analyzer.sln
Normal file
31
Multichannel Analyzer.sln
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
|
# Visual Studio Version 17
|
||||||
|
VisualStudioVersion = 17.1.32228.430
|
||||||
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Multichannel Analyzer", "Multichannel Analyzer\Multichannel Analyzer.vcxproj", "{5FBBA58E-0A8F-4B23-B1D5-1CCCEF35FE33}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|x64 = Debug|x64
|
||||||
|
Debug|x86 = Debug|x86
|
||||||
|
Release|x64 = Release|x64
|
||||||
|
Release|x86 = Release|x86
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{5FBBA58E-0A8F-4B23-B1D5-1CCCEF35FE33}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{5FBBA58E-0A8F-4B23-B1D5-1CCCEF35FE33}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{5FBBA58E-0A8F-4B23-B1D5-1CCCEF35FE33}.Debug|x86.ActiveCfg = Debug|Win32
|
||||||
|
{5FBBA58E-0A8F-4B23-B1D5-1CCCEF35FE33}.Debug|x86.Build.0 = Debug|Win32
|
||||||
|
{5FBBA58E-0A8F-4B23-B1D5-1CCCEF35FE33}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{5FBBA58E-0A8F-4B23-B1D5-1CCCEF35FE33}.Release|x64.Build.0 = Release|x64
|
||||||
|
{5FBBA58E-0A8F-4B23-B1D5-1CCCEF35FE33}.Release|x86.ActiveCfg = Release|Win32
|
||||||
|
{5FBBA58E-0A8F-4B23-B1D5-1CCCEF35FE33}.Release|x86.Build.0 = Release|Win32
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
|
SolutionGuid = {4A5742E4-18AA-4E43-AB5F-E9D3F78BC307}
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
105
Multichannel Analyzer/MCAView.cpp
Normal file
105
Multichannel Analyzer/MCAView.cpp
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
|
||||||
|
// MCAView.cpp: MCAView 类的实现
|
||||||
|
//
|
||||||
|
|
||||||
|
#include "pch.h"
|
||||||
|
#include "framework.h"
|
||||||
|
// SHARED_HANDLERS 可以在实现预览、缩略图和搜索筛选器句柄的
|
||||||
|
// ATL 项目中进行定义,并允许与该项目共享文档代码。
|
||||||
|
#ifndef SHARED_HANDLERS
|
||||||
|
#include "Multichannel Analyzer.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "Multichannel AnalyzerDoc.h"
|
||||||
|
#include "MCAView.h"
|
||||||
|
|
||||||
|
#ifdef _DEBUG
|
||||||
|
#define new DEBUG_NEW
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
// MCAView
|
||||||
|
|
||||||
|
IMPLEMENT_DYNCREATE(MCAView, CView)
|
||||||
|
|
||||||
|
BEGIN_MESSAGE_MAP(MCAView, CView)
|
||||||
|
// 标准打印命令
|
||||||
|
ON_COMMAND(ID_FILE_PRINT, &CView::OnFilePrint)
|
||||||
|
ON_COMMAND(ID_FILE_PRINT_DIRECT, &CView::OnFilePrint)
|
||||||
|
ON_COMMAND(ID_FILE_PRINT_PREVIEW, &CView::OnFilePrintPreview)
|
||||||
|
END_MESSAGE_MAP()
|
||||||
|
|
||||||
|
// MCAView 构造/析构
|
||||||
|
|
||||||
|
MCAView::MCAView() noexcept
|
||||||
|
{
|
||||||
|
// TODO: 在此处添加构造代码
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
MCAView::~MCAView()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL MCAView::PreCreateWindow(CREATESTRUCT& cs)
|
||||||
|
{
|
||||||
|
// TODO: 在此处通过修改
|
||||||
|
// CREATESTRUCT cs 来修改窗口类或样式
|
||||||
|
|
||||||
|
return CView::PreCreateWindow(cs);
|
||||||
|
}
|
||||||
|
|
||||||
|
// MCAView 绘图
|
||||||
|
|
||||||
|
void MCAView::OnDraw(CDC* /*pDC*/)
|
||||||
|
{
|
||||||
|
CMultichannelAnalyzerDoc* pDoc = GetDocument();
|
||||||
|
ASSERT_VALID(pDoc);
|
||||||
|
if (!pDoc)
|
||||||
|
return;
|
||||||
|
|
||||||
|
// TODO: 在此处为本机数据添加绘制代码
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// MCAView 打印
|
||||||
|
|
||||||
|
BOOL MCAView::OnPreparePrinting(CPrintInfo* pInfo)
|
||||||
|
{
|
||||||
|
// 默认准备
|
||||||
|
return DoPreparePrinting(pInfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
void MCAView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
|
||||||
|
{
|
||||||
|
// TODO: 添加额外的打印前进行的初始化过程
|
||||||
|
}
|
||||||
|
|
||||||
|
void MCAView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
|
||||||
|
{
|
||||||
|
// TODO: 添加打印后进行的清理过程
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// MCAView 诊断
|
||||||
|
|
||||||
|
#ifdef _DEBUG
|
||||||
|
void MCAView::AssertValid() const
|
||||||
|
{
|
||||||
|
CView::AssertValid();
|
||||||
|
}
|
||||||
|
|
||||||
|
void MCAView::Dump(CDumpContext& dc) const
|
||||||
|
{
|
||||||
|
CView::Dump(dc);
|
||||||
|
}
|
||||||
|
|
||||||
|
CMultichannelAnalyzerDoc* MCAView::GetDocument() const // 非调试版本是内联的
|
||||||
|
{
|
||||||
|
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMultichannelAnalyzerDoc)));
|
||||||
|
return (CMultichannelAnalyzerDoc*)m_pDocument;
|
||||||
|
}
|
||||||
|
#endif //_DEBUG
|
||||||
|
|
||||||
|
|
||||||
|
// MCAView 消息处理程序
|
49
Multichannel Analyzer/MCAView.h
Normal file
49
Multichannel Analyzer/MCAView.h
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
|
||||||
|
// MCAView.h: MCAView 类的接口
|
||||||
|
//
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
class MCAView : public CView
|
||||||
|
{
|
||||||
|
protected: // 仅从序列化创建
|
||||||
|
MCAView() noexcept;
|
||||||
|
DECLARE_DYNCREATE(MCAView)
|
||||||
|
|
||||||
|
// 特性
|
||||||
|
public:
|
||||||
|
CMultichannelAnalyzerDoc* GetDocument() const;
|
||||||
|
|
||||||
|
// 操作
|
||||||
|
public:
|
||||||
|
|
||||||
|
// 重写
|
||||||
|
public:
|
||||||
|
virtual void OnDraw(CDC* pDC); // 重写以绘制该视图
|
||||||
|
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
|
||||||
|
protected:
|
||||||
|
virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);
|
||||||
|
virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);
|
||||||
|
virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);
|
||||||
|
|
||||||
|
// 实现
|
||||||
|
public:
|
||||||
|
virtual ~MCAView();
|
||||||
|
#ifdef _DEBUG
|
||||||
|
virtual void AssertValid() const;
|
||||||
|
virtual void Dump(CDumpContext& dc) const;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
// 生成的消息映射函数
|
||||||
|
protected:
|
||||||
|
DECLARE_MESSAGE_MAP()
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifndef _DEBUG // MCAView.cpp 中的调试版本
|
||||||
|
inline CMultichannelAnalyzerDoc* MCAView::GetDocument() const
|
||||||
|
{ return reinterpret_cast<CMultichannelAnalyzerDoc*>(m_pDocument); }
|
||||||
|
#endif
|
||||||
|
|
105
Multichannel Analyzer/MainFrm.cpp
Normal file
105
Multichannel Analyzer/MainFrm.cpp
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
|
||||||
|
// MainFrm.cpp: CMainFrame 类的实现
|
||||||
|
//
|
||||||
|
|
||||||
|
#include "pch.h"
|
||||||
|
#include "framework.h"
|
||||||
|
#include "Multichannel Analyzer.h"
|
||||||
|
|
||||||
|
#include "MainFrm.h"
|
||||||
|
|
||||||
|
#ifdef _DEBUG
|
||||||
|
#define new DEBUG_NEW
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// CMainFrame
|
||||||
|
|
||||||
|
IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)
|
||||||
|
|
||||||
|
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
|
||||||
|
ON_WM_CREATE()
|
||||||
|
END_MESSAGE_MAP()
|
||||||
|
|
||||||
|
static UINT indicators[] =
|
||||||
|
{
|
||||||
|
ID_SEPARATOR, // 状态行指示器
|
||||||
|
ID_INDICATOR_CAPS,
|
||||||
|
ID_INDICATOR_NUM,
|
||||||
|
ID_INDICATOR_SCRL,
|
||||||
|
};
|
||||||
|
|
||||||
|
// CMainFrame 构造/析构
|
||||||
|
|
||||||
|
CMainFrame::CMainFrame() noexcept
|
||||||
|
{
|
||||||
|
// TODO: 在此添加成员初始化代码
|
||||||
|
}
|
||||||
|
|
||||||
|
CMainFrame::~CMainFrame()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
|
||||||
|
{
|
||||||
|
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
|
||||||
|
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
|
||||||
|
{
|
||||||
|
TRACE0("未能创建工具栏\n");
|
||||||
|
return -1; // 未能创建
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!m_wndStatusBar.Create(this))
|
||||||
|
{
|
||||||
|
TRACE0("未能创建状态栏\n");
|
||||||
|
return -1; // 未能创建
|
||||||
|
}
|
||||||
|
m_wndStatusBar.SetIndicators(indicators, sizeof(indicators)/sizeof(UINT));
|
||||||
|
|
||||||
|
// TODO: 如果不需要可停靠工具栏,则删除这三行
|
||||||
|
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
|
||||||
|
EnableDocking(CBRS_ALIGN_ANY);
|
||||||
|
DockControlBar(&m_wndToolBar);
|
||||||
|
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/,
|
||||||
|
CCreateContext* pContext)
|
||||||
|
{
|
||||||
|
return m_wndSplitter.Create(this,
|
||||||
|
2, 2, // TODO: 调整行数和列数
|
||||||
|
CSize(10, 10), // TODO: 调整最小窗格大小
|
||||||
|
pContext);
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
|
||||||
|
{
|
||||||
|
if( !CFrameWnd::PreCreateWindow(cs) )
|
||||||
|
return FALSE;
|
||||||
|
// TODO: 在此处通过修改
|
||||||
|
// CREATESTRUCT cs 来修改窗口类或样式
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
// CMainFrame 诊断
|
||||||
|
|
||||||
|
#ifdef _DEBUG
|
||||||
|
void CMainFrame::AssertValid() const
|
||||||
|
{
|
||||||
|
CFrameWnd::AssertValid();
|
||||||
|
}
|
||||||
|
|
||||||
|
void CMainFrame::Dump(CDumpContext& dc) const
|
||||||
|
{
|
||||||
|
CFrameWnd::Dump(dc);
|
||||||
|
}
|
||||||
|
#endif //_DEBUG
|
||||||
|
|
||||||
|
|
||||||
|
// CMainFrame 消息处理程序
|
||||||
|
|
46
Multichannel Analyzer/MainFrm.h
Normal file
46
Multichannel Analyzer/MainFrm.h
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
|
||||||
|
// MainFrm.h: CMainFrame 类的接口
|
||||||
|
//
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
class CMainFrame : public CFrameWnd
|
||||||
|
{
|
||||||
|
|
||||||
|
protected: // 仅从序列化创建
|
||||||
|
CMainFrame() noexcept;
|
||||||
|
DECLARE_DYNCREATE(CMainFrame)
|
||||||
|
|
||||||
|
// 特性
|
||||||
|
protected:
|
||||||
|
CSplitterWnd m_wndSplitter;
|
||||||
|
public:
|
||||||
|
|
||||||
|
// 操作
|
||||||
|
public:
|
||||||
|
|
||||||
|
// 重写
|
||||||
|
public:
|
||||||
|
virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext);
|
||||||
|
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
|
||||||
|
|
||||||
|
// 实现
|
||||||
|
public:
|
||||||
|
virtual ~CMainFrame();
|
||||||
|
#ifdef _DEBUG
|
||||||
|
virtual void AssertValid() const;
|
||||||
|
virtual void Dump(CDumpContext& dc) const;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
protected: // 控件条嵌入成员
|
||||||
|
CToolBar m_wndToolBar;
|
||||||
|
CStatusBar m_wndStatusBar;
|
||||||
|
|
||||||
|
// 生成的消息映射函数
|
||||||
|
protected:
|
||||||
|
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
|
||||||
|
DECLARE_MESSAGE_MAP()
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
184
Multichannel Analyzer/Multichannel Analyzer.cpp
Normal file
184
Multichannel Analyzer/Multichannel Analyzer.cpp
Normal file
@ -0,0 +1,184 @@
|
|||||||
|
|
||||||
|
// Multichannel Analyzer.cpp: 定义应用程序的类行为。
|
||||||
|
//
|
||||||
|
|
||||||
|
#include "pch.h"
|
||||||
|
#include "framework.h"
|
||||||
|
#include "afxwinappex.h"
|
||||||
|
#include "afxdialogex.h"
|
||||||
|
#include "Multichannel Analyzer.h"
|
||||||
|
#include "MainFrm.h"
|
||||||
|
|
||||||
|
#include "Multichannel AnalyzerDoc.h"
|
||||||
|
#include "MCAView.h"
|
||||||
|
|
||||||
|
#ifdef _DEBUG
|
||||||
|
#define new DEBUG_NEW
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
// CMultichannelAnalyzerApp
|
||||||
|
|
||||||
|
BEGIN_MESSAGE_MAP(CMultichannelAnalyzerApp, CWinApp)
|
||||||
|
ON_COMMAND(ID_APP_ABOUT, &CMultichannelAnalyzerApp::OnAppAbout)
|
||||||
|
// 基于文件的标准文档命令
|
||||||
|
ON_COMMAND(ID_FILE_NEW, &CWinApp::OnFileNew)
|
||||||
|
ON_COMMAND(ID_FILE_OPEN, &CWinApp::OnFileOpen)
|
||||||
|
// 标准打印设置命令
|
||||||
|
ON_COMMAND(ID_FILE_PRINT_SETUP, &CWinApp::OnFilePrintSetup)
|
||||||
|
END_MESSAGE_MAP()
|
||||||
|
|
||||||
|
|
||||||
|
// CMultichannelAnalyzerApp 构造
|
||||||
|
|
||||||
|
CMultichannelAnalyzerApp::CMultichannelAnalyzerApp() noexcept
|
||||||
|
{
|
||||||
|
|
||||||
|
// 支持重新启动管理器
|
||||||
|
m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_ALL_ASPECTS;
|
||||||
|
#ifdef _MANAGED
|
||||||
|
// 如果应用程序是利用公共语言运行时支持(/clr)构建的,则:
|
||||||
|
// 1) 必须有此附加设置,“重新启动管理器”支持才能正常工作。
|
||||||
|
// 2) 在您的项目中,您必须按照生成顺序向 System.Windows.Forms 添加引用。
|
||||||
|
System::Windows::Forms::Application::SetUnhandledExceptionMode(System::Windows::Forms::UnhandledExceptionMode::ThrowException);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// TODO: 将以下应用程序 ID 字符串替换为唯一的 ID 字符串;建议的字符串格式
|
||||||
|
//为 CompanyName.ProductName.SubProduct.VersionInformation
|
||||||
|
SetAppID(_T("MultichannelAnalyzer.AppID.NoVersion"));
|
||||||
|
|
||||||
|
// TODO: 在此处添加构造代码,
|
||||||
|
// 将所有重要的初始化放置在 InitInstance 中
|
||||||
|
}
|
||||||
|
|
||||||
|
// 唯一的 CMultichannelAnalyzerApp 对象
|
||||||
|
|
||||||
|
CMultichannelAnalyzerApp theApp;
|
||||||
|
|
||||||
|
|
||||||
|
// CMultichannelAnalyzerApp 初始化
|
||||||
|
|
||||||
|
BOOL CMultichannelAnalyzerApp::InitInstance()
|
||||||
|
{
|
||||||
|
// 如果一个运行在 Windows XP 上的应用程序清单指定要
|
||||||
|
// 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式,
|
||||||
|
//则需要 InitCommonControlsEx()。 否则,将无法创建窗口。
|
||||||
|
INITCOMMONCONTROLSEX InitCtrls;
|
||||||
|
InitCtrls.dwSize = sizeof(InitCtrls);
|
||||||
|
// 将它设置为包括所有要在应用程序中使用的
|
||||||
|
// 公共控件类。
|
||||||
|
InitCtrls.dwICC = ICC_WIN95_CLASSES;
|
||||||
|
InitCommonControlsEx(&InitCtrls);
|
||||||
|
|
||||||
|
CWinApp::InitInstance();
|
||||||
|
|
||||||
|
|
||||||
|
// 初始化 OLE 库
|
||||||
|
if (!AfxOleInit())
|
||||||
|
{
|
||||||
|
AfxMessageBox(IDP_OLE_INIT_FAILED);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
AfxEnableControlContainer();
|
||||||
|
|
||||||
|
EnableTaskbarInteraction(FALSE);
|
||||||
|
|
||||||
|
// 使用 RichEdit 控件需要 AfxInitRichEdit2()
|
||||||
|
// AfxInitRichEdit2();
|
||||||
|
|
||||||
|
// 标准初始化
|
||||||
|
// 如果未使用这些功能并希望减小
|
||||||
|
// 最终可执行文件的大小,则应移除下列
|
||||||
|
// 不需要的特定初始化例程
|
||||||
|
// 更改用于存储设置的注册表项
|
||||||
|
// TODO: 应适当修改该字符串,
|
||||||
|
// 例如修改为公司或组织名
|
||||||
|
SetRegistryKey(_T("应用程序向导生成的本地应用程序"));
|
||||||
|
LoadStdProfileSettings(4); // 加载标准 INI 文件选项(包括 MRU)
|
||||||
|
|
||||||
|
|
||||||
|
// 注册应用程序的文档模板。 文档模板
|
||||||
|
// 将用作文档、框架窗口和视图之间的连接
|
||||||
|
CSingleDocTemplate* pDocTemplate;
|
||||||
|
pDocTemplate = new CSingleDocTemplate(
|
||||||
|
IDR_MAINFRAME,
|
||||||
|
RUNTIME_CLASS(CMultichannelAnalyzerDoc),
|
||||||
|
RUNTIME_CLASS(CMainFrame), // 主 SDI 框架窗口
|
||||||
|
RUNTIME_CLASS(MCAView));
|
||||||
|
if (!pDocTemplate)
|
||||||
|
return FALSE;
|
||||||
|
AddDocTemplate(pDocTemplate);
|
||||||
|
|
||||||
|
|
||||||
|
// 分析标准 shell 命令、DDE、打开文件操作的命令行
|
||||||
|
CCommandLineInfo cmdInfo;
|
||||||
|
ParseCommandLine(cmdInfo);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 调度在命令行中指定的命令。 如果
|
||||||
|
// 用 /RegServer、/Register、/Unregserver 或 /Unregister 启动应用程序,则返回 FALSE。
|
||||||
|
if (!ProcessShellCommand(cmdInfo))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
// 唯一的一个窗口已初始化,因此显示它并对其进行更新
|
||||||
|
m_pMainWnd->ShowWindow(SW_SHOW);
|
||||||
|
m_pMainWnd->UpdateWindow();
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
int CMultichannelAnalyzerApp::ExitInstance()
|
||||||
|
{
|
||||||
|
//TODO: 处理可能已添加的附加资源
|
||||||
|
AfxOleTerm(FALSE);
|
||||||
|
|
||||||
|
return CWinApp::ExitInstance();
|
||||||
|
}
|
||||||
|
|
||||||
|
// CMultichannelAnalyzerApp 消息处理程序
|
||||||
|
|
||||||
|
|
||||||
|
// 用于应用程序“关于”菜单项的 CAboutDlg 对话框
|
||||||
|
|
||||||
|
class CAboutDlg : public CDialogEx
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CAboutDlg() noexcept;
|
||||||
|
|
||||||
|
// 对话框数据
|
||||||
|
#ifdef AFX_DESIGN_TIME
|
||||||
|
enum { IDD = IDD_ABOUTBOX };
|
||||||
|
#endif
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
|
||||||
|
|
||||||
|
// 实现
|
||||||
|
protected:
|
||||||
|
DECLARE_MESSAGE_MAP()
|
||||||
|
};
|
||||||
|
|
||||||
|
CAboutDlg::CAboutDlg() noexcept : CDialogEx(IDD_ABOUTBOX)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void CAboutDlg::DoDataExchange(CDataExchange* pDX)
|
||||||
|
{
|
||||||
|
CDialogEx::DoDataExchange(pDX);
|
||||||
|
}
|
||||||
|
|
||||||
|
BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx)
|
||||||
|
END_MESSAGE_MAP()
|
||||||
|
|
||||||
|
// 用于运行对话框的应用程序命令
|
||||||
|
void CMultichannelAnalyzerApp::OnAppAbout()
|
||||||
|
{
|
||||||
|
CAboutDlg aboutDlg;
|
||||||
|
aboutDlg.DoModal();
|
||||||
|
}
|
||||||
|
|
||||||
|
// CMultichannelAnalyzerApp 消息处理程序
|
||||||
|
|
||||||
|
|
||||||
|
|
33
Multichannel Analyzer/Multichannel Analyzer.h
Normal file
33
Multichannel Analyzer/Multichannel Analyzer.h
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
|
||||||
|
// Multichannel Analyzer.h: Multichannel Analyzer 应用程序的主头文件
|
||||||
|
//
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#ifndef __AFXWIN_H__
|
||||||
|
#error "在包含此文件之前包含 'pch.h' 以生成 PCH"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "resource.h" // 主符号
|
||||||
|
|
||||||
|
|
||||||
|
// CMultichannelAnalyzerApp:
|
||||||
|
// 有关此类的实现,请参阅 Multichannel Analyzer.cpp
|
||||||
|
//
|
||||||
|
|
||||||
|
class CMultichannelAnalyzerApp : public CWinApp
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CMultichannelAnalyzerApp() noexcept;
|
||||||
|
|
||||||
|
|
||||||
|
// 重写
|
||||||
|
public:
|
||||||
|
virtual BOOL InitInstance();
|
||||||
|
virtual int ExitInstance();
|
||||||
|
|
||||||
|
// 实现
|
||||||
|
afx_msg void OnAppAbout();
|
||||||
|
DECLARE_MESSAGE_MAP()
|
||||||
|
};
|
||||||
|
|
||||||
|
extern CMultichannelAnalyzerApp theApp;
|
221
Multichannel Analyzer/Multichannel Analyzer.vcxproj
Normal file
221
Multichannel Analyzer/Multichannel Analyzer.vcxproj
Normal file
@ -0,0 +1,221 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug|Win32">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|x64">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<VCProjectVersion>17.0</VCProjectVersion>
|
||||||
|
<ProjectGuid>{5FBBA58E-0A8F-4B23-B1D5-1CCCEF35FE33}</ProjectGuid>
|
||||||
|
<Keyword>MFCProj</Keyword>
|
||||||
|
<RootNamespace>MultichannelAnalyzer</RootNamespace>
|
||||||
|
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
<UseOfMfc>Dynamic</UseOfMfc>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
<UseOfMfc>Dynamic</UseOfMfc>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
<UseOfMfc>Dynamic</UseOfMfc>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
<UseOfMfc>Dynamic</UseOfMfc>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
|
<ImportGroup Label="ExtensionSettings">
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="Shared">
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<PropertyGroup Label="UserMacros" />
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<LinkIncremental>true</LinkIncremental>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<LinkIncremental>true</LinkIncremental>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<LinkIncremental>false</LinkIncremental>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<LinkIncremental>false</LinkIncremental>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<SDLCheck>true</SDLCheck>
|
||||||
|
<PreprocessorDefinitions>_WINDOWS;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
</Link>
|
||||||
|
<Midl>
|
||||||
|
<MkTypLibCompatible>false</MkTypLibCompatible>
|
||||||
|
<ValidateAllParameters>true</ValidateAllParameters>
|
||||||
|
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
</Midl>
|
||||||
|
<ResourceCompile>
|
||||||
|
<Culture>0x0804</Culture>
|
||||||
|
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
</ResourceCompile>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<SDLCheck>true</SDLCheck>
|
||||||
|
<PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
</Link>
|
||||||
|
<Midl>
|
||||||
|
<MkTypLibCompatible>false</MkTypLibCompatible>
|
||||||
|
<ValidateAllParameters>true</ValidateAllParameters>
|
||||||
|
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
</Midl>
|
||||||
|
<ResourceCompile>
|
||||||
|
<Culture>0x0804</Culture>
|
||||||
|
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
</ResourceCompile>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<SDLCheck>true</SDLCheck>
|
||||||
|
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
</Link>
|
||||||
|
<Midl>
|
||||||
|
<MkTypLibCompatible>false</MkTypLibCompatible>
|
||||||
|
<ValidateAllParameters>true</ValidateAllParameters>
|
||||||
|
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
</Midl>
|
||||||
|
<ResourceCompile>
|
||||||
|
<Culture>0x0804</Culture>
|
||||||
|
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
</ResourceCompile>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<SDLCheck>true</SDLCheck>
|
||||||
|
<PreprocessorDefinitions>_WINDOWS;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>Windows</SubSystem>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
</Link>
|
||||||
|
<Midl>
|
||||||
|
<MkTypLibCompatible>false</MkTypLibCompatible>
|
||||||
|
<ValidateAllParameters>true</ValidateAllParameters>
|
||||||
|
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
</Midl>
|
||||||
|
<ResourceCompile>
|
||||||
|
<Culture>0x0804</Culture>
|
||||||
|
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
</ResourceCompile>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="framework.h" />
|
||||||
|
<ClInclude Include="MainFrm.h" />
|
||||||
|
<ClInclude Include="MCAView.h" />
|
||||||
|
<ClInclude Include="Multichannel Analyzer.h" />
|
||||||
|
<ClInclude Include="Multichannel AnalyzerDoc.h" />
|
||||||
|
<ClInclude Include="pch.h" />
|
||||||
|
<ClInclude Include="Resource.h" />
|
||||||
|
<ClInclude Include="targetver.h" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="MainFrm.cpp" />
|
||||||
|
<ClCompile Include="MCAView.cpp" />
|
||||||
|
<ClCompile Include="Multichannel Analyzer.cpp" />
|
||||||
|
<ClCompile Include="Multichannel AnalyzerDoc.cpp" />
|
||||||
|
<ClCompile Include="pch.cpp">
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
||||||
|
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ResourceCompile Include="MultichannelAnalyzer.rc" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="res\MultichannelAnalyzer.rc2" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Image Include="res\Multichannel Analyzer.ico" />
|
||||||
|
<Image Include="res\Multichannel AnalyzerDoc.ico" />
|
||||||
|
<Image Include="res\Toolbar.bmp" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
<ImportGroup Label="ExtensionTargets">
|
||||||
|
</ImportGroup>
|
||||||
|
</Project>
|
81
Multichannel Analyzer/Multichannel Analyzer.vcxproj.filters
Normal file
81
Multichannel Analyzer/Multichannel Analyzer.vcxproj.filters
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup>
|
||||||
|
<Filter Include="源文件">
|
||||||
|
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||||
|
<Extensions>cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="头文件">
|
||||||
|
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||||
|
<Extensions>h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd</Extensions>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="资源文件">
|
||||||
|
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||||
|
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||||
|
</Filter>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="Multichannel Analyzer.h">
|
||||||
|
<Filter>头文件</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="framework.h">
|
||||||
|
<Filter>头文件</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="targetver.h">
|
||||||
|
<Filter>头文件</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="MainFrm.h">
|
||||||
|
<Filter>头文件</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Multichannel AnalyzerDoc.h">
|
||||||
|
<Filter>头文件</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="MCAView.h">
|
||||||
|
<Filter>头文件</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Resource.h">
|
||||||
|
<Filter>头文件</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="pch.h">
|
||||||
|
<Filter>头文件</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="Multichannel Analyzer.cpp">
|
||||||
|
<Filter>源文件</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="MainFrm.cpp">
|
||||||
|
<Filter>源文件</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Multichannel AnalyzerDoc.cpp">
|
||||||
|
<Filter>源文件</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="MCAView.cpp">
|
||||||
|
<Filter>源文件</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="pch.cpp">
|
||||||
|
<Filter>源文件</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ResourceCompile Include="MultichannelAnalyzer.rc">
|
||||||
|
<Filter>资源文件</Filter>
|
||||||
|
</ResourceCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="res\MultichannelAnalyzer.rc2">
|
||||||
|
<Filter>资源文件</Filter>
|
||||||
|
</None>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Image Include="res\Multichannel AnalyzerDoc.ico">
|
||||||
|
<Filter>资源文件</Filter>
|
||||||
|
</Image>
|
||||||
|
<Image Include="res\Multichannel Analyzer.ico">
|
||||||
|
<Filter>资源文件</Filter>
|
||||||
|
</Image>
|
||||||
|
<Image Include="res\Toolbar.bmp">
|
||||||
|
<Filter>资源文件</Filter>
|
||||||
|
</Image>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
138
Multichannel Analyzer/Multichannel AnalyzerDoc.cpp
Normal file
138
Multichannel Analyzer/Multichannel AnalyzerDoc.cpp
Normal file
@ -0,0 +1,138 @@
|
|||||||
|
|
||||||
|
// Multichannel AnalyzerDoc.cpp: CMultichannelAnalyzerDoc 类的实现
|
||||||
|
//
|
||||||
|
|
||||||
|
#include "pch.h"
|
||||||
|
#include "framework.h"
|
||||||
|
// SHARED_HANDLERS 可以在实现预览、缩略图和搜索筛选器句柄的
|
||||||
|
// ATL 项目中进行定义,并允许与该项目共享文档代码。
|
||||||
|
#ifndef SHARED_HANDLERS
|
||||||
|
#include "Multichannel Analyzer.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "Multichannel AnalyzerDoc.h"
|
||||||
|
|
||||||
|
#include <propkey.h>
|
||||||
|
|
||||||
|
#ifdef _DEBUG
|
||||||
|
#define new DEBUG_NEW
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// CMultichannelAnalyzerDoc
|
||||||
|
|
||||||
|
IMPLEMENT_DYNCREATE(CMultichannelAnalyzerDoc, CDocument)
|
||||||
|
|
||||||
|
BEGIN_MESSAGE_MAP(CMultichannelAnalyzerDoc, CDocument)
|
||||||
|
END_MESSAGE_MAP()
|
||||||
|
|
||||||
|
|
||||||
|
// CMultichannelAnalyzerDoc 构造/析构
|
||||||
|
|
||||||
|
CMultichannelAnalyzerDoc::CMultichannelAnalyzerDoc() noexcept
|
||||||
|
{
|
||||||
|
// TODO: 在此添加一次性构造代码
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
CMultichannelAnalyzerDoc::~CMultichannelAnalyzerDoc()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
BOOL CMultichannelAnalyzerDoc::OnNewDocument()
|
||||||
|
{
|
||||||
|
if (!CDocument::OnNewDocument())
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
// TODO: 在此添加重新初始化代码
|
||||||
|
// (SDI 文档将重用该文档)
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// CMultichannelAnalyzerDoc 序列化
|
||||||
|
|
||||||
|
void CMultichannelAnalyzerDoc::Serialize(CArchive& ar)
|
||||||
|
{
|
||||||
|
if (ar.IsStoring())
|
||||||
|
{
|
||||||
|
// TODO: 在此添加存储代码
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// TODO: 在此添加加载代码
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef SHARED_HANDLERS
|
||||||
|
|
||||||
|
// 缩略图的支持
|
||||||
|
void CMultichannelAnalyzerDoc::OnDrawThumbnail(CDC& dc, LPRECT lprcBounds)
|
||||||
|
{
|
||||||
|
// 修改此代码以绘制文档数据
|
||||||
|
dc.FillSolidRect(lprcBounds, RGB(255, 255, 255));
|
||||||
|
|
||||||
|
CString strText = _T("TODO: implement thumbnail drawing here");
|
||||||
|
LOGFONT lf;
|
||||||
|
|
||||||
|
CFont* pDefaultGUIFont = CFont::FromHandle((HFONT) GetStockObject(DEFAULT_GUI_FONT));
|
||||||
|
pDefaultGUIFont->GetLogFont(&lf);
|
||||||
|
lf.lfHeight = 36;
|
||||||
|
|
||||||
|
CFont fontDraw;
|
||||||
|
fontDraw.CreateFontIndirect(&lf);
|
||||||
|
|
||||||
|
CFont* pOldFont = dc.SelectObject(&fontDraw);
|
||||||
|
dc.DrawText(strText, lprcBounds, DT_CENTER | DT_WORDBREAK);
|
||||||
|
dc.SelectObject(pOldFont);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 搜索处理程序的支持
|
||||||
|
void CMultichannelAnalyzerDoc::InitializeSearchContent()
|
||||||
|
{
|
||||||
|
CString strSearchContent;
|
||||||
|
// 从文档数据设置搜索内容。
|
||||||
|
// 内容部分应由“;”分隔
|
||||||
|
|
||||||
|
// 例如: strSearchContent = _T("point;rectangle;circle;ole object;");
|
||||||
|
SetSearchContent(strSearchContent);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CMultichannelAnalyzerDoc::SetSearchContent(const CString& value)
|
||||||
|
{
|
||||||
|
if (value.IsEmpty())
|
||||||
|
{
|
||||||
|
RemoveChunk(PKEY_Search_Contents.fmtid, PKEY_Search_Contents.pid);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
CMFCFilterChunkValueImpl *pChunk = nullptr;
|
||||||
|
ATLTRY(pChunk = new CMFCFilterChunkValueImpl);
|
||||||
|
if (pChunk != nullptr)
|
||||||
|
{
|
||||||
|
pChunk->SetTextValue(PKEY_Search_Contents, value, CHUNK_TEXT);
|
||||||
|
SetChunkValue(pChunk);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // SHARED_HANDLERS
|
||||||
|
|
||||||
|
// CMultichannelAnalyzerDoc 诊断
|
||||||
|
|
||||||
|
#ifdef _DEBUG
|
||||||
|
void CMultichannelAnalyzerDoc::AssertValid() const
|
||||||
|
{
|
||||||
|
CDocument::AssertValid();
|
||||||
|
}
|
||||||
|
|
||||||
|
void CMultichannelAnalyzerDoc::Dump(CDumpContext& dc) const
|
||||||
|
{
|
||||||
|
CDocument::Dump(dc);
|
||||||
|
}
|
||||||
|
#endif //_DEBUG
|
||||||
|
|
||||||
|
|
||||||
|
// CMultichannelAnalyzerDoc 命令
|
48
Multichannel Analyzer/Multichannel AnalyzerDoc.h
Normal file
48
Multichannel Analyzer/Multichannel AnalyzerDoc.h
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
|
||||||
|
// Multichannel AnalyzerDoc.h: CMultichannelAnalyzerDoc 类的接口
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
class CMultichannelAnalyzerDoc : public CDocument
|
||||||
|
{
|
||||||
|
protected: // 仅从序列化创建
|
||||||
|
CMultichannelAnalyzerDoc() noexcept;
|
||||||
|
DECLARE_DYNCREATE(CMultichannelAnalyzerDoc)
|
||||||
|
|
||||||
|
// 特性
|
||||||
|
public:
|
||||||
|
|
||||||
|
// 操作
|
||||||
|
public:
|
||||||
|
|
||||||
|
// 重写
|
||||||
|
public:
|
||||||
|
virtual BOOL OnNewDocument();
|
||||||
|
virtual void Serialize(CArchive& ar);
|
||||||
|
#ifdef SHARED_HANDLERS
|
||||||
|
virtual void InitializeSearchContent();
|
||||||
|
virtual void OnDrawThumbnail(CDC& dc, LPRECT lprcBounds);
|
||||||
|
#endif // SHARED_HANDLERS
|
||||||
|
|
||||||
|
// 实现
|
||||||
|
public:
|
||||||
|
virtual ~CMultichannelAnalyzerDoc();
|
||||||
|
#ifdef _DEBUG
|
||||||
|
virtual void AssertValid() const;
|
||||||
|
virtual void Dump(CDumpContext& dc) const;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
// 生成的消息映射函数
|
||||||
|
protected:
|
||||||
|
DECLARE_MESSAGE_MAP()
|
||||||
|
|
||||||
|
#ifdef SHARED_HANDLERS
|
||||||
|
// 用于为搜索处理程序设置搜索内容的 Helper 函数
|
||||||
|
void SetSearchContent(const CString& value);
|
||||||
|
#endif // SHARED_HANDLERS
|
||||||
|
};
|
BIN
Multichannel Analyzer/MultichannelAnalyzer.rc
Normal file
BIN
Multichannel Analyzer/MultichannelAnalyzer.rc
Normal file
Binary file not shown.
19
Multichannel Analyzer/Resource.h
Normal file
19
Multichannel Analyzer/Resource.h
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
//{{NO_DEPENDENCIES}}
|
||||||
|
// 生成的 Microsoft Visual C++ 包含文件。
|
||||||
|
// 由 MultichannelAnalyzer.rc 使用
|
||||||
|
//
|
||||||
|
#define IDD_ABOUTBOX 100
|
||||||
|
#define IDP_OLE_INIT_FAILED 100
|
||||||
|
#define IDR_MAINFRAME 128
|
||||||
|
#define IDR_MCATYPE 130
|
||||||
|
|
||||||
|
// 新对象的下一组默认值
|
||||||
|
//
|
||||||
|
#ifdef APSTUDIO_INVOKED
|
||||||
|
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||||
|
#define _APS_NEXT_RESOURCE_VALUE 310
|
||||||
|
#define _APS_NEXT_CONTROL_VALUE 1000
|
||||||
|
#define _APS_NEXT_SYMED_VALUE 310
|
||||||
|
#define _APS_NEXT_COMMAND_VALUE 32771
|
||||||
|
#endif
|
||||||
|
#endif
|
49
Multichannel Analyzer/framework.h
Normal file
49
Multichannel Analyzer/framework.h
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#ifndef VC_EXTRALEAN
|
||||||
|
#define VC_EXTRALEAN // 从 Windows 头中排除极少使用的资料
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "targetver.h"
|
||||||
|
|
||||||
|
#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // 某些 CString 构造函数将是显式的
|
||||||
|
|
||||||
|
// 关闭 MFC 的一些常见且经常可放心忽略的隐藏警告消息
|
||||||
|
#define _AFX_ALL_WARNINGS
|
||||||
|
|
||||||
|
#include <afxwin.h> // MFC 核心组件和标准组件
|
||||||
|
#include <afxext.h> // MFC 扩展
|
||||||
|
|
||||||
|
|
||||||
|
#include <afxdisp.h> // MFC 自动化类
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef _AFX_NO_OLE_SUPPORT
|
||||||
|
#include <afxdtctl.h> // MFC 对 Internet Explorer 4 公共控件的支持
|
||||||
|
#endif
|
||||||
|
#ifndef _AFX_NO_AFXCMN_SUPPORT
|
||||||
|
#include <afxcmn.h> // MFC 对 Windows 公共控件的支持
|
||||||
|
#endif // _AFX_NO_AFXCMN_SUPPORT
|
||||||
|
|
||||||
|
#include <afxcontrolbars.h> // MFC 支持功能区和控制条
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef _UNICODE
|
||||||
|
#if defined _M_IX86
|
||||||
|
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
|
||||||
|
#elif defined _M_X64
|
||||||
|
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
|
||||||
|
#else
|
||||||
|
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
5
Multichannel Analyzer/pch.cpp
Normal file
5
Multichannel Analyzer/pch.cpp
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
// pch.cpp: 与预编译标头对应的源文件
|
||||||
|
|
||||||
|
#include "pch.h"
|
||||||
|
|
||||||
|
// 当使用预编译的头时,需要使用此源文件,编译才能成功。
|
13
Multichannel Analyzer/pch.h
Normal file
13
Multichannel Analyzer/pch.h
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
// pch.h: 这是预编译标头文件。
|
||||||
|
// 下方列出的文件仅编译一次,提高了将来生成的生成性能。
|
||||||
|
// 这还将影响 IntelliSense 性能,包括代码完成和许多代码浏览功能。
|
||||||
|
// 但是,如果此处列出的文件中的任何一个在生成之间有更新,它们全部都将被重新编译。
|
||||||
|
// 请勿在此处添加要频繁更新的文件,这将使得性能优势无效。
|
||||||
|
|
||||||
|
#ifndef PCH_H
|
||||||
|
#define PCH_H
|
||||||
|
|
||||||
|
// 添加要在此处预编译的标头
|
||||||
|
#include "framework.h"
|
||||||
|
|
||||||
|
#endif //PCH_H
|
BIN
Multichannel Analyzer/res/Multichannel Analyzer.ico
Normal file
BIN
Multichannel Analyzer/res/Multichannel Analyzer.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 66 KiB |
BIN
Multichannel Analyzer/res/Multichannel AnalyzerDoc.ico
Normal file
BIN
Multichannel Analyzer/res/Multichannel AnalyzerDoc.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.6 KiB |
BIN
Multichannel Analyzer/res/MultichannelAnalyzer.rc2
Normal file
BIN
Multichannel Analyzer/res/MultichannelAnalyzer.rc2
Normal file
Binary file not shown.
BIN
Multichannel Analyzer/res/Toolbar.bmp
Normal file
BIN
Multichannel Analyzer/res/Toolbar.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.1 KiB |
8
Multichannel Analyzer/targetver.h
Normal file
8
Multichannel Analyzer/targetver.h
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
// 包括 SDKDDKVer.h 将定义可用的最高版本的 Windows 平台。
|
||||||
|
|
||||||
|
//如果要为以前的 Windows 平台生成应用程序,请包括 WinSDKVer.h,并
|
||||||
|
// 将 _WIN32_WINNT 宏设置为要支持的平台,然后再包括 SDKDDKVer.h。
|
||||||
|
|
||||||
|
#include <SDKDDKVer.h>
|
Reference in New Issue
Block a user