添加测量模块
1.添加MFC类 CQYView,基类CView
更改基类CbaseView,添加头文件“BaseView.h”
2.对话框资源 IDD_DIALOG_NEW_MEAS [中文(简体)]
添加 按钮 ,修改属性
caption:量子效率测量
ID :IDC_BTN_QuantumYeild
双击按钮添加响应函数 void CCreateNewMeas::OnBnClickedBtnQuantumyeild()
内容暂定:
CMainFrame* pMainFrame = (CMainFrame*)AfxGetMainWnd();//获得主窗口的指针
pMainFrame->m_NewAppType = QUANTUMYIELD_APP;//主窗口类型更改
CPropSheet PropSheet(L"Quantumyield");
PropSheet.AddPage(&(PropSheet.m_PageSaveRefLight));//参考光谱
PropSheet.AddPage(&PropSheet.m_PageSaveBackLight);//背景光谱
PropSheet.SetWizardMode();
PropSheet.DoModal();
m_bOK = PropSheet.m_done;
CDialogEx::OnOK();
功能实现依靠:
- 主窗口应用类型,
QUANTUMYIELD_APP串联起视图、框架、文档; - AddPage函数,基于propertysheet属性页实现对话框的承接;
3.`QUANTUMYIELD_APP定义、查找对应引用
3.1 CreateNewMeas.h枚举类型添加QUANTUMYIELD_APP=14,
3.2MainFrm添加消息函数
-void CMainFrame::OnMeasQuantumYield()
{
CBSVApp* pMyApp = (CBSVApp*)AfxGetApp();
CMultiDocTemplate* pDocTemplate = pMyApp->m_pQuantumYieldDocTemplate;
if (pDocTemplate != NULL)
{
AddViewID(m_vecViewID[QUANTUMYIELD_APP]);
pDocTemplate->OpenDocumentFile(NULL);
}
SetBackGroundColor(m_BKColor);
}
3.3void CMainFrame::OnMeasNew()中添加
case QUANTUMYIELD_APP:
OnMeasQuantumYield();
break;
3.4在BSV.cpp,APP中添加
//新加功能:量子效率测量
m_pQuantumYieldDocTemplate = new CMultiDocTemplate(IDR_BSVTYPE,
RUNTIME_CLASS(CBSVDoc),
RUNTIME_CLASS(CChildFrame), // 自定义 MDI 子框架
RUNTIME_CLASS(CQYView)
);
if (!m_pQuantumYieldDocTemplate)
return FALSE;
else
AddDocTemplate(m_pQuantumYieldDocTemplate);
1240

被折叠的 条评论
为什么被折叠?



