add: menu and toolbar icon
This commit is contained in:
parent
20dc9c6436
commit
10c387a4da
|
@ -0,0 +1,52 @@
|
|||
// ControlView.cpp: 实现文件
|
||||
//
|
||||
|
||||
#include "pch.h"
|
||||
#include "math.h"
|
||||
|
||||
#include "MCA.h"
|
||||
#include "MCADoc.h"
|
||||
#include "MainFrm.h"
|
||||
#include "ControlView.h"
|
||||
|
||||
// CControlView
|
||||
|
||||
IMPLEMENT_DYNCREATE(CControlView, CFormView)
|
||||
|
||||
CControlView::CControlView()
|
||||
: CFormView(IDD_DIALOG_CONTROL)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
CControlView::~CControlView()
|
||||
{
|
||||
}
|
||||
|
||||
void CControlView::DoDataExchange(CDataExchange* pDX)
|
||||
{
|
||||
CFormView::DoDataExchange(pDX);
|
||||
}
|
||||
|
||||
BEGIN_MESSAGE_MAP(CControlView, CFormView)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
|
||||
// CControlView 诊断
|
||||
|
||||
#ifdef _DEBUG
|
||||
void CControlView::AssertValid() const
|
||||
{
|
||||
CFormView::AssertValid();
|
||||
}
|
||||
|
||||
#ifndef _WIN32_WCE
|
||||
void CControlView::Dump(CDumpContext& dc) const
|
||||
{
|
||||
CFormView::Dump(dc);
|
||||
}
|
||||
#endif
|
||||
#endif //_DEBUG
|
||||
|
||||
|
||||
// CControlView 消息处理程序
|
|
@ -0,0 +1,33 @@
|
|||
#pragma once
|
||||
|
||||
|
||||
|
||||
// CControlView 窗体视图
|
||||
|
||||
class CControlView : public CFormView
|
||||
{
|
||||
DECLARE_DYNCREATE(CControlView)
|
||||
|
||||
protected:
|
||||
CControlView(); // 动态创建所使用的受保护的构造函数
|
||||
virtual ~CControlView();
|
||||
|
||||
public:
|
||||
#ifdef AFX_DESIGN_TIME
|
||||
enum { IDD = IDD_DIALOG_CONTROL };
|
||||
#endif
|
||||
#ifdef _DEBUG
|
||||
virtual void AssertValid() const;
|
||||
#ifndef _WIN32_WCE
|
||||
virtual void Dump(CDumpContext& dc) const;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
protected:
|
||||
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
|
||||
|
||||
DECLARE_MESSAGE_MAP()
|
||||
public:
|
||||
};
|
||||
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
// DetailView.cpp : 实现文件
|
||||
//
|
||||
|
||||
#include "pch.h"
|
||||
|
||||
#include "MCA.h"
|
||||
#include "MCADoc.h"
|
||||
#include "DetailView.h"
|
||||
|
||||
|
||||
// CDetailView
|
||||
|
||||
IMPLEMENT_DYNCREATE(CDetailView, CView)
|
||||
|
||||
CDetailView::CDetailView()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
CDetailView::~CDetailView()
|
||||
{
|
||||
}
|
||||
|
||||
BEGIN_MESSAGE_MAP(CDetailView, CView)
|
||||
// ON_WM_PAINT()
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
|
||||
// CDetailView 绘图
|
||||
|
||||
void CDetailView::OnDraw(CDC* pDC)
|
||||
{
|
||||
CDocument* pDoc = GetDocument();
|
||||
// TODO: 在此添加绘制代码
|
||||
}
|
||||
|
||||
|
||||
// CDetailView 诊断
|
||||
|
||||
#ifdef _DEBUG
|
||||
void CDetailView::AssertValid() const
|
||||
{
|
||||
CView::AssertValid();
|
||||
}
|
||||
|
||||
#ifndef _WIN32_WCE
|
||||
void CDetailView::Dump(CDumpContext& dc) const
|
||||
{
|
||||
CView::Dump(dc);
|
||||
}
|
||||
#endif
|
||||
#endif //_DEBUG
|
||||
|
||||
|
||||
// CDetailView 消息处理程序
|
|
@ -0,0 +1,30 @@
|
|||
#pragma once
|
||||
#include <afxwin.h>
|
||||
|
||||
class CDetailView :
|
||||
public CView
|
||||
{
|
||||
protected:
|
||||
DECLARE_DYNCREATE(CDetailView)
|
||||
|
||||
// 重写
|
||||
public:
|
||||
CDetailView();
|
||||
virtual ~CDetailView();
|
||||
|
||||
public:
|
||||
virtual void OnDraw(CDC* pDC); // 重写以绘制该视图
|
||||
|
||||
#ifdef _DEBUG
|
||||
virtual void AssertValid() const;
|
||||
virtual void Dump(CDumpContext& dc) const;
|
||||
#endif
|
||||
|
||||
protected:
|
||||
|
||||
// 生成的消息映射函数
|
||||
protected:
|
||||
DECLARE_MESSAGE_MAP()
|
||||
public:
|
||||
// afx_msg void OnPaint();
|
||||
};
|
17
MCA/MCA.cpp
17
MCA/MCA.cpp
|
@ -43,9 +43,8 @@ CMCAApp::CMCAApp() noexcept
|
|||
System::Windows::Forms::Application::SetUnhandledExceptionMode(System::Windows::Forms::UnhandledExceptionMode::ThrowException);
|
||||
#endif
|
||||
|
||||
// TODO: 将以下应用程序 ID 字符串替换为唯一的 ID 字符串;建议的字符串格式
|
||||
//为 CompanyName.ProductName.SubProduct.VersionInformation
|
||||
SetAppID(_T("Tsinghua.MultichannelAnalyzer.TS01.V-0.1.0"));
|
||||
// CompanyName.ProductName.SubProduct.VersionInformation
|
||||
SetAppID(_T("YiHui-Liu.MultichannelAnalyzer.TS01.V-0.1.0"));
|
||||
|
||||
// TODO: 在此处添加构造代码,
|
||||
// 将所有重要的初始化放置在 InitInstance 中
|
||||
|
@ -88,18 +87,14 @@ BOOL CMCAApp::InitInstance()
|
|||
// AfxInitRichEdit2();
|
||||
|
||||
// 标准初始化
|
||||
// 如果未使用这些功能并希望减小
|
||||
// 最终可执行文件的大小,则应移除下列
|
||||
// 不需要的特定初始化例程
|
||||
// 如果未使用这些功能并希望减小最终可执行文件的大小,则应移除下列不需要的特定初始化例程
|
||||
// 更改用于存储设置的注册表项
|
||||
// TODO: 应适当修改该字符串,
|
||||
// 例如修改为公司或组织名
|
||||
SetRegistryKey(_T("应用程序向导生成的本地应用程序"));
|
||||
SetRegistryKey(_T("YiHui-Liu.MultichannelAnalyzer"));
|
||||
LoadStdProfileSettings(4); // 加载标准 INI 文件选项(包括 MRU)
|
||||
|
||||
|
||||
// 注册应用程序的文档模板。 文档模板
|
||||
// 将用作文档、框架窗口和视图之间的连接
|
||||
// 注册应用程序的文档模板
|
||||
// 文档模板将用作文档、框架窗口和视图之间的连接
|
||||
CSingleDocTemplate* pDocTemplate;
|
||||
pDocTemplate = new CSingleDocTemplate(
|
||||
IDR_MAINFRAME,
|
||||
|
|
BIN
MCA/MCA.rc
BIN
MCA/MCA.rc
Binary file not shown.
|
@ -183,6 +183,8 @@
|
|||
</ResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="ControlView.h" />
|
||||
<ClInclude Include="DetailView.h" />
|
||||
<ClInclude Include="framework.h" />
|
||||
<ClInclude Include="MainFrm.h" />
|
||||
<ClInclude Include="MCADoc.h" />
|
||||
|
@ -191,8 +193,11 @@
|
|||
<ClInclude Include="pch.h" />
|
||||
<ClInclude Include="Resource.h" />
|
||||
<ClInclude Include="targetver.h" />
|
||||
<ClInclude Include="TotalView.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="ControlView.cpp" />
|
||||
<ClCompile Include="DetailView.cpp" />
|
||||
<ClCompile Include="MainFrm.cpp" />
|
||||
<ClCompile Include="MCADoc.cpp" />
|
||||
<ClCompile Include="MCAView.cpp" />
|
||||
|
@ -203,6 +208,7 @@
|
|||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TotalView.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="MCA.rc" />
|
||||
|
@ -211,6 +217,7 @@
|
|||
<None Include="res\MCA.rc2" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Image Include="..\UML\menu.bmp" />
|
||||
<Image Include="res\MCA.ico" />
|
||||
<Image Include="res\MCADoc.ico" />
|
||||
<Image Include="res\Toolbar.bmp" />
|
||||
|
|
|
@ -39,6 +39,15 @@
|
|||
<ClInclude Include="pch.h">
|
||||
<Filter>头文件</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ControlView.h">
|
||||
<Filter>头文件</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="TotalView.h">
|
||||
<Filter>头文件</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="DetailView.h">
|
||||
<Filter>头文件</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="MCA.cpp">
|
||||
|
@ -56,6 +65,15 @@
|
|||
<ClCompile Include="pch.cpp">
|
||||
<Filter>源文件</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ControlView.cpp">
|
||||
<Filter>源文件</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TotalView.cpp">
|
||||
<Filter>源文件</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="DetailView.cpp">
|
||||
<Filter>源文件</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="MCA.rc">
|
||||
|
@ -77,5 +95,8 @@
|
|||
<Image Include="res\Toolbar.bmp">
|
||||
<Filter>资源文件</Filter>
|
||||
</Image>
|
||||
<Image Include="..\UML\menu.bmp">
|
||||
<Filter>资源文件</Filter>
|
||||
</Image>
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -30,8 +30,11 @@ END_MESSAGE_MAP()
|
|||
|
||||
CMCADoc::CMCADoc() noexcept
|
||||
{
|
||||
// TODO: 在此添加一次性构造代码
|
||||
|
||||
m_nChannelCount = new int[m_nChannelNum];
|
||||
for (int i = 0; i < m_nChannelNum; i++)
|
||||
{
|
||||
m_nChannelCount[i] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
CMCADoc::~CMCADoc()
|
||||
|
|
|
@ -14,6 +14,8 @@ protected: // 仅从序列化创建
|
|||
|
||||
// 特性
|
||||
public:
|
||||
int m_nChannelNum = 0;
|
||||
int *m_nChannelCount;
|
||||
|
||||
// 操作
|
||||
public:
|
||||
|
|
|
@ -4,10 +4,14 @@
|
|||
|
||||
#include "pch.h"
|
||||
#include "framework.h"
|
||||
#include "MCA.h"
|
||||
|
||||
#include "MCA.h"
|
||||
#include "MainFrm.h"
|
||||
|
||||
#include "ControlView.h"
|
||||
#include "DetailView.h"
|
||||
#include "TotalView.h"
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define new DEBUG_NEW
|
||||
#endif
|
||||
|
@ -70,10 +74,22 @@ int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
|
|||
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/,
|
||||
CCreateContext* pContext)
|
||||
{
|
||||
return m_wndSplitter.Create(this,
|
||||
2, 2, // TODO: 调整行数和列数
|
||||
CSize(10, 10), // TODO: 调整最小窗格大小
|
||||
pContext);
|
||||
// 左右拆分窗口,1行2列
|
||||
VERIFY(m_wndSplitter.CreateStatic(this, 1, 2,
|
||||
WS_CHILD | WS_VISIBLE, AFX_IDW_PANE_FIRST));
|
||||
// 左侧窗口创建视图,第0行第0列
|
||||
VERIFY(m_wndSplitter.CreateView(0, 0,
|
||||
RUNTIME_CLASS(CControlView), CSize(240, 0), pContext));
|
||||
// 右侧窗口上下拆分,2行1列
|
||||
VERIFY(m_wndSplitter_2.CreateStatic(&m_wndSplitter, 2, 1,
|
||||
WS_CHILD | WS_VISIBLE, m_wndSplitter.IdFromRowCol(0, 1)));
|
||||
// 右上窗口创建视图,第0行第0列
|
||||
VERIFY(m_wndSplitter_2.CreateView(0, 0,
|
||||
RUNTIME_CLASS(CTotalView), CSize(0, 300), pContext));
|
||||
// 右下窗口创建视图,第1行第0列
|
||||
VERIFY(m_wndSplitter_2.CreateView(1, 0,
|
||||
RUNTIME_CLASS(CDetailView), CSize(0, 0), pContext));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
|
||||
|
|
|
@ -14,6 +14,7 @@ protected: // 仅从序列化创建
|
|||
// 特性
|
||||
protected:
|
||||
CSplitterWnd m_wndSplitter;
|
||||
CSplitterWnd m_wndSplitter_2;
|
||||
public:
|
||||
|
||||
// 操作
|
||||
|
|
|
@ -1,19 +1,46 @@
|
|||
//{{NO_DEPENDENCIES}}
|
||||
// 生成的 Microsoft Visual C++ 包含文件。
|
||||
// 由 MCA.rc 使用
|
||||
// Microsoft Visual C++ 生成的包含文件。
|
||||
// 供 MCA.rc 使用
|
||||
//
|
||||
#define IDD_ABOUTBOX 100
|
||||
#define IDP_OLE_INIT_FAILED 100
|
||||
#define IDR_MAINFRAME 128
|
||||
#define IDR_MCATYPE 130
|
||||
#define IDD_ABOUTBOX 100
|
||||
#define IDP_OLE_INIT_FAILED 100
|
||||
#define IDR_MAINFRAME 128
|
||||
#define IDR_MCATYPE 130
|
||||
#define IDD_DIALOG1 310
|
||||
#define IDD_DIALOG_CONTROL 310
|
||||
#define ID_32786 32786
|
||||
#define ID_32787 32787
|
||||
#define ID_32788 32788
|
||||
#define ID_32789 32789
|
||||
#define ID_32790 32790
|
||||
#define ID_32791 32791
|
||||
#define ID_32792 32792
|
||||
#define ID_32793 32793
|
||||
#define ID_32794 32794
|
||||
#define ID_32795 32795
|
||||
#define ID_32796 32796
|
||||
#define ID_32797 32797
|
||||
#define ID_32798 32798
|
||||
#define ID_32799 32799
|
||||
#define ID_32800 32800
|
||||
#define ID_32801 32801
|
||||
#define ID_BUTTON32803 32803
|
||||
#define ID_BUTTON32804 32804
|
||||
#define ID_BUTTON32805 32805
|
||||
#define ID_BUTTON32806 32806
|
||||
#define ID_BUTTON32807 32807
|
||||
#define ID_BUTTON32808 32808
|
||||
#define ID_BUTTON32809 32809
|
||||
#define ID_BUTTON32810 32810
|
||||
#define ID_BUTTON32811 32811
|
||||
|
||||
// 新对象的下一组默认值
|
||||
//
|
||||
// Next default values for new objects
|
||||
//
|
||||
#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
|
||||
#define _APS_NEXT_RESOURCE_VALUE 313
|
||||
#define _APS_NEXT_COMMAND_VALUE 32812
|
||||
#define _APS_NEXT_CONTROL_VALUE 1008
|
||||
#define _APS_NEXT_SYMED_VALUE 310
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
@ -0,0 +1,53 @@
|
|||
// TotalView.cpp : 实现文件
|
||||
//
|
||||
|
||||
#include "pch.h"
|
||||
|
||||
#include "MCA.h"
|
||||
#include "TotalView.h"
|
||||
|
||||
|
||||
// CTotalView
|
||||
|
||||
IMPLEMENT_DYNCREATE(CTotalView, CView)
|
||||
|
||||
CTotalView::CTotalView()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
CTotalView::~CTotalView()
|
||||
{
|
||||
}
|
||||
|
||||
BEGIN_MESSAGE_MAP(CTotalView, CView)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
|
||||
// CTotalView 绘图
|
||||
|
||||
void CTotalView::OnDraw(CDC* pDC)
|
||||
{
|
||||
CDocument* pDoc = GetDocument();
|
||||
// TODO: 在此添加绘制代码
|
||||
}
|
||||
|
||||
|
||||
// CTotalView 诊断
|
||||
|
||||
#ifdef _DEBUG
|
||||
void CTotalView::AssertValid() const
|
||||
{
|
||||
CView::AssertValid();
|
||||
}
|
||||
|
||||
#ifndef _WIN32_WCE
|
||||
void CTotalView::Dump(CDumpContext& dc) const
|
||||
{
|
||||
CView::Dump(dc);
|
||||
}
|
||||
#endif
|
||||
#endif //_DEBUG
|
||||
|
||||
|
||||
// CTotalView 消息处理程序
|
|
@ -0,0 +1,28 @@
|
|||
#pragma once
|
||||
#include <afxwin.h>
|
||||
|
||||
class CTotalView :
|
||||
public CView
|
||||
{
|
||||
protected:
|
||||
DECLARE_DYNCREATE(CTotalView)
|
||||
|
||||
// 重写
|
||||
public:
|
||||
CTotalView();
|
||||
virtual ~CTotalView();
|
||||
|
||||
public:
|
||||
virtual void OnDraw(CDC* pDC); // 重写以绘制该视图
|
||||
|
||||
#ifdef _DEBUG
|
||||
virtual void AssertValid() const;
|
||||
virtual void Dump(CDumpContext& dc) const;
|
||||
#endif
|
||||
|
||||
protected:
|
||||
|
||||
// 生成的消息映射函数
|
||||
protected:
|
||||
DECLARE_MESSAGE_MAP()
|
||||
};
|
Binary file not shown.
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 16 KiB |
Binary file not shown.
Reference in New Issue