123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739 |
- // CDeviceView.cpp: 实现文件
- //
- #include "stdafx.h"
- #include "SATHelper.h"
- #include "DeviceView.h"
- #include "MainFrm.h"
- #include <filehelper.h>
- extern CMainFrame* g_pMainFrame;
- // CDeviceView
- IMPLEMENT_DYNCREATE(CDeviceView, CFormView)
- CDeviceView::CDeviceView()
- : CFormView(DLG_DEVICEMANAGER)
- {
- ReadBaiduCfg(m_bdcfg);
- ReadRsRunCfg(m_rscfg);
- ReadTreePath();
- }
- CDeviceView::~CDeviceView()
- {
- }
- void CDeviceView::DoDataExchange(CDataExchange* pDX)
- {
- CFormView::DoDataExchange(pDX);
- DDX_Control(pDX, IDC_COMBO1, m_cb_chroma1);
- DDX_Control(pDX, IDC_COMBO2, m_cb_chroma2);
- DDX_Control(pDX, IDC_CHECK1, m_ck_chroma1);
- DDX_Control(pDX, IDC_CHECK2, m_ck_chroma2);
- }
- BEGIN_MESSAGE_MAP(CDeviceView, CFormView)
- ON_WM_PAINT()
- ON_WM_CTLCOLOR()
- ON_WM_DEVICECHANGE()
- ON_COMMAND(ID_CHECK_FULL_CUT, &CDeviceView::OnCheckFullCut)
- ON_COMMAND(BTN_HAD_SOUND, &CDeviceView::OnHadSound)
- ON_COMMAND(ID_COMBOX_OCR, &CDeviceView::OnComboxOcr)
- ON_UPDATE_COMMAND_UI(ID_CHECK_FULL_CUT, &CDeviceView::OnUpdateCheckFullCut)
- ON_UPDATE_COMMAND_UI(BTN_HAD_SOUND, &CDeviceView::OnUpdateHadSound)
- ON_UPDATE_COMMAND_UI(ID_COMBOX_OCR, &CDeviceView::OnUpdateComboxOcr)
- ON_UPDATE_COMMAND_UI(ID_COMBO_PRODUCT, &CDeviceView::OnUpdateComboProduct)
- ON_UPDATE_COMMAND_UI(ID_COMBO_UI, &CDeviceView::OnUpdateComboUi)
- ON_UPDATE_COMMAND_UI(BTN_DEF_SOUND, &CDeviceView::OnUpdateDefSound)
- ON_COMMAND(BTN_DEF_SOUND, &CDeviceView::OnDefSound)
- ON_COMMAND(ID_COMBO_PRODUCT, &CDeviceView::OnComboProduct)
- ON_COMMAND(ID_COMBO_UI, &CDeviceView::OnComboUi)
- ON_BN_CLICKED(IDC_BUTTON1, &CDeviceView::OnBnClickedButton1)
- ON_BN_CLICKED(IDC_BUTTON2, &CDeviceView::OnBnClickedButton2)
- ON_BN_CLICKED(IDC_CHECK1, &CDeviceView::OnBnClickedCheck1)
- ON_BN_CLICKED(IDC_CHECK2, &CDeviceView::OnBnClickedCheck2)
- ON_CBN_SELCHANGE(IDC_COMBO1, &CDeviceView::OnCbnSelchangeCombo1)
- ON_CBN_SELCHANGE(IDC_COMBO2, &CDeviceView::OnCbnSelchangeCombo2)
- ON_WM_CREATE()
- END_MESSAGE_MAP()
- // CDeviceView 诊断
- #ifdef _DEBUG
- void CDeviceView::AssertValid() const
- {
- CFormView::AssertValid();
- }
- #ifndef _WIN32_WCE
- void CDeviceView::Dump(CDumpContext& dc) const
- {
- CFormView::Dump(dc);
- }
- #endif
- #endif //_DEBUG
- // CDeviceView 消息处理程序
- void CDeviceView::ReadBaiduCfg(BaiduCfg& bdcfg)
- {
- TCHAR szValue[MAX_PATH] = {0};
- TCHAR szBuffer[1024] = { 0 };
- _stprintf_s(m_szBaiduCfgPath, _T("%s%s"), Global::g_szPython27Dir, _T("Lib\\site-packages\\ssat_sdk\\config\\baidu.cfg"));
-
- GetPrivateProfileString(_T("CurStatus"), _T("Cur_Count"), NULL, szValue, MAX_PATH, m_szBaiduCfgPath);
- bdcfg.cur_count = szValue;
- GetPrivateProfileString(_T("CurStatus"), _T("Reset_Time"), NULL, szValue, MAX_PATH, m_szBaiduCfgPath);
- bdcfg.reset_time = szValue;
- // 读取所有Section值;
- DWORD dwLen = GetPrivateProfileString(NULL, NULL, NULL, szBuffer, 1024, m_szBaiduCfgPath);
- for ( int i = 0, j = 0; i < dwLen; i++ )
- {
- if ( szBuffer[i] == '\0' )
- {
- TCHAR szData[MAX_PATH] = {0};
- memcpy(szData, &szBuffer[j], i-j);
- if ( _tcsicmp(szData, _T("CurStatus")) )
- {
- CountInfo countInfo;
- GetPrivateProfileString(szData, _T("APP_ID"), NULL, szValue, MAX_PATH, m_szBaiduCfgPath);
- countInfo.app_id = szValue;
- GetPrivateProfileString(szData, _T("API_KEY"), NULL, szValue, MAX_PATH, m_szBaiduCfgPath);
- countInfo.api_key = szValue;
- GetPrivateProfileString(szData, _T("SECRET_KEY"), NULL, szValue, MAX_PATH, m_szBaiduCfgPath);
- countInfo.secret_key = szValue;
- GetPrivateProfileString(szData, _T("Ret_Count"), NULL, szValue, MAX_PATH, m_szBaiduCfgPath);
- countInfo.ret_count = szValue;
- bdcfg.list_count.insert(std::pair<std::string, CountInfo>(szData, countInfo));
- }
- OutputDebugString(szData);
- OutputDebugString("\n");
- j = i+1;
- }
- }
- }
- void CDeviceView::ReadRsRunCfg(RsRunCfg& rscfg)
- {
- TCHAR szValue[MAX_PATH] = { 0 };
- TCHAR szBuffer[1024] = { 0 };
- _stprintf_s(m_szRsCfgPath, _T("%s%s"), Global::g_szPython27Dir, _T("Lib\\site-packages\\ssat_sdk\\config\\resource_run.cfg"));
- GetPrivateProfileString(_T("Sound"), _T("sound_list"), NULL, szValue, MAX_PATH, m_szRsCfgPath);
- rscfg.sound_list = szValue;
- GetPrivateProfileString(_T("COMM"), _T("issendkeytakepicture_tester"), NULL, szValue, MAX_PATH, m_szRsCfgPath);
- rscfg.full_cut = szValue;
- GetPrivateProfileString(_T("COMM"), _T("tg39_port"), NULL, szValue, MAX_PATH, m_szRsCfgPath);
- rscfg.tg39_port = szValue;
- GetPrivateProfileString(_T("COMM"), _T("sat_home"), NULL, szValue, MAX_PATH, m_szRsCfgPath);
- rscfg.sat_home = szValue;
- GetPrivateProfileString(_T("COMM"), _T("sat_result_dir"), NULL, szValue, MAX_PATH, m_szRsCfgPath);
- rscfg.sat_result_dir = szValue;
- GetPrivateProfileString(_T("COMM"), _T("chroma22293"), NULL, szValue, MAX_PATH, m_szRsCfgPath);
- rscfg.chroma22293 = szValue;
- //...
- GetPrivateProfileString(_T("MenuTree"), _T("menutreeselectedchip"), NULL, szValue, MAX_PATH, m_szRsCfgPath);
- rscfg.menutree_chip = szValue;
- GetPrivateProfileString(_T("MenuTree"), _T("menutreeselectedstyle"), NULL, szValue, MAX_PATH, m_szRsCfgPath);
- rscfg.menutree_style = szValue;
- GetPrivateProfileString(_T("MenuTree"), _T("menutreeselectedchannel"), NULL, szValue, MAX_PATH, m_szRsCfgPath);
- rscfg.menutree_channel = szValue;
- // SATHelper
- GetPrivateProfileString(_T("SATHelper"), _T("chroma1"), NULL, szValue, MAX_PATH, m_szRsCfgPath);
- rscfg.chroma1 = szValue;
- GetPrivateProfileString(_T("SATHelper"), _T("chroma2"), NULL, szValue, MAX_PATH, m_szRsCfgPath);
- rscfg.chroma2 = szValue;
- }
- void CDeviceView::ReadTreePath()
- {
- // 必须在ReadRsRunCfg之后调用;
- TCHAR szRootDir[MAX_PATH] = {0};
- _stprintf_s(szRootDir, _T("%s%s"), m_rscfg.sat_home.c_str(), _T("resource\\MenuTree\\") );
- auto _get_dir = [](std::string dir){
- int nIndex = dir.find_last_of('\\');
- if (nIndex != std::string::npos)
- {
- return dir.substr(nIndex+1);
- }
- return dir;
- };
- // 查找根目录下的目录;
- filehelper fh;
- STR_VEC vt_dir;
- fh.getsubfolder(szRootDir, &vt_dir);
- for (auto it : vt_dir )
- {
- STR_VEC vt_subdir;
- fh.getsubfolder(it.c_str(), &vt_subdir);
- m_map_tree.insert(std::pair<std::string, std::vector<std::string>>(_get_dir(it), vt_subdir));
- }
- // 去除目录级;
- for (std::map<std::string, std::vector<std::string>>::iterator it = m_map_tree.begin(); it != m_map_tree.end(); it++ )
- {
- for (std::vector<std::string>::iterator itd = it->second.begin(); itd != it->second.end(); itd++ )
- {
- *itd = _get_dir(*itd);
- }
- }
- }
- void CDeviceView::ParseJson()
- {
- if ( m_rscfg.chroma1.size() == 0 )
- {
- cJSON* pJson = cJSON_Parse(m_rscfg.chroma22293.c_str());
- if (pJson)
- {
- cJSON* pArray = cJSON_GetObjectItem(pJson, "devices");
- if (pArray)
- {
- int nCount = cJSON_GetArraySize(pArray);
- for ( int i = 0; i < nCount; i++ )
- {
- cJSON *pItem = cJSON_GetArrayItem(pArray, i);
- if ( pItem )
- {
- if (i == 0)
- m_rscfg.chroma1 = cJSON_GetObjectItem(pItem, "port") ? cJSON_GetObjectItem(pItem, "port")->valuestring : _T("");
- if (i == 1)
- m_rscfg.chroma2 = cJSON_GetObjectItem(pItem, "port") ? cJSON_GetObjectItem(pItem, "port")->valuestring : _T("");
- }
- }
- }
- }
- // 保存;
- WritePrivateProfileString(_T("SATHelper"), _T("chroma1"), m_rscfg.chroma1.c_str(), m_szRsCfgPath);
- WritePrivateProfileString(_T("SATHelper"), _T("chroma2"), m_rscfg.chroma2.c_str(), m_szRsCfgPath);
- }
- }
- void CDeviceView::RunDevice()
- {
- if ( m_rscfg.chroma1.size() )
- {
- CDevice* pdev = new CDevice();
- pdev->m_iBaudrate = 115200;
- pdev->m_iDatabit = 8;
- pdev->m_iPort = atoi(m_rscfg.chroma1.substr(3).c_str());
- pdev->m_iParitybit = 0;
- pdev->m_iStopbit = 1;
- pdev->m_iID = 1;
- pdev->m_strDeviceName = "Chroma22293";
- pdev->m_iDeviceType = 1;
- if (pdev->Open())
- {
- g_dmap.insert(std::pair<int, CDevice*>(pdev->m_iID, pdev));
- m_ck_chroma1.SetCheck(TRUE);
- }
- else
- {
- delete pdev;
- m_ck_chroma1.SetCheck(FALSE);
- }
- }
-
- if (m_rscfg.chroma2.size())
- {
- CDevice* pdev = new CDevice();
- pdev->m_iBaudrate = 115200;
- pdev->m_iDatabit = 8;
- pdev->m_iPort = atoi(m_rscfg.chroma2.substr(3).c_str());
- pdev->m_iParitybit = 0;
- pdev->m_iStopbit = 1;
- pdev->m_iID = 2;
- pdev->m_strDeviceName = "Chroma22293";
- pdev->m_iDeviceType = 1;
- if (pdev->Open())
- {
- g_dmap.insert(std::pair<int, CDevice*>(pdev->m_iID, pdev));
- m_ck_chroma2.SetCheck(TRUE);
- }
- else
- {
- delete pdev;
- m_ck_chroma2.SetCheck(FALSE);
- }
- }
- UpdateData(FALSE);
- }
- void CDeviceView::InitCombobox_port()
- {
- CComboBox* pCommbox1 = ((CComboBox*)GetDlgItem(IDC_COMBO1));
- CComboBox* pCommbox2 = ((CComboBox*)GetDlgItem(IDC_COMBO2));
- for (std::vector<std::string>::iterator it = m_vtCOM.begin(); it != m_vtCOM.end(); it++)
- {
- if (!IsPortInserted(pCommbox1, it->c_str()))
- pCommbox1->AddString(it->c_str());
- if (!IsPortInserted(pCommbox2, it->c_str()))
- pCommbox2->AddString(it->c_str());
- }
- if ( m_rscfg.chroma1.size())
- pCommbox1->SelectString(0, m_rscfg.chroma1.c_str());
- if (m_rscfg.chroma2.size())
- pCommbox2->SelectString(0, m_rscfg.chroma2.c_str());
- }
- BOOL CDeviceView::IsPortInserted(CComboBox* pCommbox, LPCTSTR lpPort)
- {
- BOOL bInserted = FALSE;
- CString strCommPort = _T("");
- int nCount = pCommbox->GetCount();
- for (int i = 0; i < nCount; i++)
- {
- pCommbox->GetLBText(i, strCommPort);
- if (strCommPort.CompareNoCase(lpPort) == 0)
- {
- bInserted = TRUE;
- break;
- }
- }
- return bInserted;
- }
- //实现串口热插拔
- BOOL CDeviceView::OnDeviceChange(UINT nEventType, DWORD_PTR dwData)
- {
- switch (nEventType)
- {
- // 串口拨掉;
- case DBT_DEVICEREMOVECOMPLETE:
- break;
- // 串口插入;
- case DBT_DEVICEARRIVAL:
- {
- Global::GetSysSerialPort(m_vtCOM);
- InitCombobox_port();
- }
- break;
- default:
- break;
- }
- return TRUE;
- }
- void CDeviceView::OnInitialUpdate()
- {
- CFormView::OnInitialUpdate();
- // TODO: 在此添加您专用的创建代码
- ParseJson();
- // Ribbon Combobox添加默认项;
- CMFCRibbonBar* pRibbon = g_pMainFrame->GetRibbonBar();
- ASSERT_VALID(pRibbon);
- CMFCRibbonComboBox* pOcrCombo = DYNAMIC_DOWNCAST(CMFCRibbonComboBox, pRibbon->FindByID(ID_COMBOX_OCR));
- if (pOcrCombo)
- {
- for (auto it : m_bdcfg.list_count)
- {
- pOcrCombo->AddItem(it.first.c_str());
- }
- // 选择默认项;
- pOcrCombo->SetEditText(m_bdcfg.cur_count.c_str());
- }
- // 剩余次数;
- CMFCRibbonEdit* pOcrCount = DYNAMIC_DOWNCAST(CMFCRibbonEdit, pRibbon->FindByID(ID_EDIT_COUNT));
- if (pOcrCount)
- {
- pOcrCount->SetEditText(m_bdcfg.reset_time.c_str());
- }
- // 声音等级;
- CMFCRibbonEdit* pSoundLevel = DYNAMIC_DOWNCAST(CMFCRibbonEdit, pRibbon->FindByID(ID_EDIT_SOUND_LEVEL));
- if (pSoundLevel)
- {
- pSoundLevel->SetEditText(m_bdcfg.reset_time.c_str());
- }
- // 全步骤截图;
- // CMFCRibbonCheckBox* pCheckFullCut = DYNAMIC_DOWNCAST(CMFCRibbonCheckBox, pRibbon->FindByID(ID_CHECK_FULL_CUT));
- // if (pCheckFullCut)
- // {
- // pCheckFullCut->SetCheck();
- // }
- // MenuTree;
- CMFCRibbonComboBox* pChipCombo = DYNAMIC_DOWNCAST(CMFCRibbonComboBox, pRibbon->FindByID(ID_COMBO_PRODUCT));
- if (pChipCombo)
- {
- for (auto it : m_map_tree)
- {
- pChipCombo->AddItem(it.first.c_str());
- }
- // 选择默认项;
- pChipCombo->SetEditText(m_rscfg.menutree_chip.c_str());
- // UI下拉框;
- CString curText = pChipCombo->GetEditText();
- CMFCRibbonComboBox* pStyleCombo = DYNAMIC_DOWNCAST(CMFCRibbonComboBox, pRibbon->FindByID(ID_COMBO_UI));
- for (auto it : m_map_tree.find(curText.GetString())->second)
- {
- pStyleCombo->AddItem(it.c_str());
- }
- pStyleCombo->SetEditText(m_rscfg.menutree_style.c_str());
- }
- // 启动设备;
- Global::GetSysSerialPort(m_vtCOM);
- InitCombobox_port();
- RunDevice();
- }
- void CDeviceView::OnDraw(CDC* /*pDC*/)
- {
- // TODO: 在此添加专用代码和/或调用基类
- }
- void CDeviceView::OnPaint()
- {
- CPaintDC dc(this); // device context for painting
- // TODO: 在此处添加消息处理程序代码
- // 不为绘图消息调用 CFormView::OnPaint()
- CRect rc;
- GetWindowRect(&rc);
- static CImage mImage;
- static BOOL bLoad = FALSE;
- if (!bLoad)
- {
- bLoad = mImage.Load(_T("bk.jpg")) == S_OK;
- }
- else
- {
- // 缩放到最小后再拉大,区域为Null;
- if (rc.IsRectEmpty() || rc.IsRectNull())
- return;
- //...BUG,当出现滚动条时,绘制的内容出错;
- //这里让图片绘制区域和窗口大小一致
- mImage.Draw(GetDC()->GetSafeHdc(), CRect(0, 0, rc.Width(), rc.Height()));
- }
- }
- HBRUSH CDeviceView::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
- {
- HBRUSH hbr = CFormView::OnCtlColor(pDC, pWnd, nCtlColor);
- // TODO: 在此更改 DC 的任何特性
- if (nCtlColor == CTLCOLOR_STATIC)
- {
- pDC->SetBkMode(TRANSPARENT);//<设置背景透明
- return (HBRUSH)::GetStockObject(NULL_BRUSH);
- }
- // TODO: 如果默认的不是所需画笔,则返回另一个画笔
- return hbr;
- }
- void CDeviceView::OnCheckFullCut()
- {
- // TODO: 在此添加命令处理程序代码
- CMFCRibbonBar* pRibbon = g_pMainFrame->GetRibbonBar();
- ASSERT_VALID(pRibbon);
- CMFCRibbonButton* pFullCutCheck = DYNAMIC_DOWNCAST(CMFCRibbonButton, pRibbon->FindByID(ID_CHECK_FULL_CUT));
- if (pFullCutCheck)
- {
- WritePrivateProfileString(_T("COMM"), _T("issendkeytakepicture_tester"), !pFullCutCheck->IsChecked() ? _T("True") : _T("False"), m_szRsCfgPath);
- m_rscfg.full_cut = !pFullCutCheck->IsChecked() ? _T("True") : _T("False");
- }
- }
- void CDeviceView::OnHadSound()
- {
- // TODO: 在此添加命令处理程序代码
- }
- void CDeviceView::OnComboxOcr()
- {
- // TODO: 在此添加命令处理程序代码
- CMFCRibbonBar* pRibbon = g_pMainFrame->GetRibbonBar();
- ASSERT_VALID(pRibbon);
- CMFCRibbonComboBox* pOcrCombo = DYNAMIC_DOWNCAST(CMFCRibbonComboBox, pRibbon->FindByID(ID_COMBOX_OCR));
- if (pOcrCombo)
- {
- // 获取当前文本项;
- CString strOcr = pOcrCombo->GetEditText();
- WritePrivateProfileString(_T("CurStatus"), _T("Cur_Count"), strOcr, m_szBaiduCfgPath);
- }
- }
- void CDeviceView::OnUpdateCheckFullCut(CCmdUI* pCmdUI)
- {
- // TODO: 在此添加命令更新用户界面处理程序代码
- pCmdUI->SetCheck(!_tcsicmp(m_rscfg.full_cut.c_str(), _T("True")));
- }
- void CDeviceView::OnUpdateHadSound(CCmdUI* pCmdUI)
- {
- // TODO: 在此添加命令更新用户界面处理程序代码
- }
- void CDeviceView::OnUpdateComboxOcr(CCmdUI* pCmdUI)
- {
- // TODO: 在此添加命令更新用户界面处理程序代码
- }
- void CDeviceView::OnUpdateComboProduct(CCmdUI* pCmdUI)
- {
- // TODO: 在此添加命令更新用户界面处理程序代码
-
- }
- void CDeviceView::OnUpdateComboUi(CCmdUI* pCmdUI)
- {
- // TODO: 在此添加命令更新用户界面处理程序代码
-
- }
- void CDeviceView::OnUpdateDefSound(CCmdUI* pCmdUI)
- {
- // TODO: 在此添加命令更新用户界面处理程序代码
- }
- void CDeviceView::OnDefSound()
- {
- // TODO: 在此添加命令处理程序代码
- }
- void CDeviceView::OnComboProduct()
- {
- // TODO: 在此添加命令处理程序代码
- CMFCRibbonBar* pRibbon = g_pMainFrame->GetRibbonBar();
- ASSERT_VALID(pRibbon);
- CMFCRibbonComboBox* pChipCombo = DYNAMIC_DOWNCAST(CMFCRibbonComboBox, pRibbon->FindByID(ID_COMBO_PRODUCT));
- if (pChipCombo)
- {
- // UI下拉框;
- CString curText = pChipCombo->GetEditText();
- CMFCRibbonComboBox* pStyleCombo = DYNAMIC_DOWNCAST(CMFCRibbonComboBox, pRibbon->FindByID(ID_COMBO_UI));
- pStyleCombo->RemoveAllItems();
- for (auto it : m_map_tree.find(curText.GetString())->second)
- {
- pStyleCombo->AddItem(it.c_str());
- }
- pStyleCombo->SelectItem(0);
- // 保存结果;
- CString strCurChip = pChipCombo->GetEditText();
- WritePrivateProfileString(_T("MenuTree"), _T("menutreeselectedchip"), strCurChip, m_szRsCfgPath);
- CString strCurStyle = pStyleCombo->GetEditText();
- WritePrivateProfileString(_T("MenuTree"), _T("menutreeselectedstyle"), strCurStyle, m_szRsCfgPath);
- }
- }
- void CDeviceView::OnComboUi()
- {
- // TODO: 在此添加命令处理程序代码
- CMFCRibbonBar* pRibbon = g_pMainFrame->GetRibbonBar();
- ASSERT_VALID(pRibbon);
- CMFCRibbonComboBox* pStyleCombo = DYNAMIC_DOWNCAST(CMFCRibbonComboBox, pRibbon->FindByID(ID_COMBO_UI));
- if (pStyleCombo)
- {
- // UI下拉框;
- CString strCurStyle = pStyleCombo->GetEditText();
- WritePrivateProfileString(_T("MenuTree"), _T("menutreeselectedstyle"), strCurStyle, m_szRsCfgPath);
- }
- }
- void CDeviceView::OnBnClickedButton1()
- {
- // TODO: 在此添加控件通知处理程序代码
- }
- void CDeviceView::OnBnClickedButton2()
- {
- // TODO: 在此添加控件通知处理程序代码
- }
- void CDeviceView::OnBnClickedCheck1()
- {
- // TODO: 在此添加控件通知处理程序代码
- CDevice* pDev = g_dmap.find(1)->second;
- if (m_ck_chroma1.GetCheck())
- pDev->Open();
- else
- pDev->Close();
- }
- void CDeviceView::OnBnClickedCheck2()
- {
- // TODO: 在此添加控件通知处理程序代码
- CDevice* pDev = g_dmap.find(2)->second;
- if (m_ck_chroma2.GetCheck())
- pDev->Open();
- else
- pDev->Close();
- }
- void CDeviceView::OnCbnSelchangeCombo1()
- {
- // 保存到配置文件中;
- int nCurSel = m_cb_chroma1.GetCurSel();
- if ( nCurSel != CB_ERR )
- {
- CString strChroma1;
- m_cb_chroma1.GetLBText(nCurSel, strChroma1);
- WritePrivateProfileString(_T("SATHelper"), _T("chroma1"), strChroma1, m_szRsCfgPath);
- CDevice *pDev = g_dmap.find(1)->second;
- int port = atoi(strChroma1.Right(1).GetString());
- if (pDev->m_iPort != port)
- {
- pDev->m_iPort = port;
- pDev->Close();
- m_ck_chroma1.SetCheck(pDev->Open());
- }
- }
- }
- void CDeviceView::OnCbnSelchangeCombo2()
- {
- int nCurSel = m_cb_chroma2.GetCurSel();
- if (nCurSel != CB_ERR)
- {
- CString strChroma2;
- m_cb_chroma2.GetLBText(nCurSel, strChroma2);
- WritePrivateProfileString(_T("SATHelper"), _T("chroma2"), strChroma2, m_szRsCfgPath);
- CDevice* pDev = g_dmap.find(2)->second;
- int port = atoi(strChroma2.Right(1).GetString());
- if (pDev->m_iPort != port)
- {
- pDev->m_iPort = port;
- pDev->Close();
- m_ck_chroma2.SetCheck(pDev->Open());
- }
- }
- }
- // 说明:使用CFormView时,任务初始化动作都应该放在OnCreate中;
- // 而非放在OnInitialUpdate中执行,因为OnInitialUpdate可能被调用多次;
- int CDeviceView::OnCreate(LPCREATESTRUCT lpCreateStruct)
- {
- if (CFormView::OnCreate(lpCreateStruct) == -1)
- return -1;
- #if 0
- // TODO: 在此添加您专用的创建代码
- ParseJson();
- // Ribbon Combobox添加默认项;
- CMFCRibbonBar* pRibbon = g_pMainFrame->GetRibbonBar();
- ASSERT_VALID(pRibbon);
- CMFCRibbonComboBox* pOcrCombo = DYNAMIC_DOWNCAST(CMFCRibbonComboBox, pRibbon->FindByID(ID_COMBOX_OCR));
- if (pOcrCombo)
- {
- for (auto it : m_bdcfg.list_count)
- {
- pOcrCombo->AddItem(it.first.c_str());
- }
- // 选择默认项;
- pOcrCombo->SetEditText(m_bdcfg.cur_count.c_str());
- }
- // 剩余次数;
- CMFCRibbonEdit* pOcrCount = DYNAMIC_DOWNCAST(CMFCRibbonEdit, pRibbon->FindByID(ID_EDIT_COUNT));
- if (pOcrCount)
- {
- pOcrCount->SetEditText(m_bdcfg.reset_time.c_str());
- }
- // 声音等级;
- CMFCRibbonEdit* pSoundLevel = DYNAMIC_DOWNCAST(CMFCRibbonEdit, pRibbon->FindByID(ID_EDIT_SOUND_LEVEL));
- if (pSoundLevel)
- {
- pSoundLevel->SetEditText(m_bdcfg.reset_time.c_str());
- }
- // 全步骤截图;
- // CMFCRibbonCheckBox* pCheckFullCut = DYNAMIC_DOWNCAST(CMFCRibbonCheckBox, pRibbon->FindByID(ID_CHECK_FULL_CUT));
- // if (pCheckFullCut)
- // {
- // pCheckFullCut->SetCheck();
- // }
- // MenuTree;
- CMFCRibbonComboBox* pChipCombo = DYNAMIC_DOWNCAST(CMFCRibbonComboBox, pRibbon->FindByID(ID_COMBO_PRODUCT));
- if (pChipCombo)
- {
- for (auto it : m_map_tree)
- {
- pChipCombo->AddItem(it.first.c_str());
- }
- // 选择默认项;
- pChipCombo->SetEditText(m_rscfg.menutree_chip.c_str());
- // UI下拉框;
- CString curText = pChipCombo->GetEditText();
- CMFCRibbonComboBox* pStyleCombo = DYNAMIC_DOWNCAST(CMFCRibbonComboBox, pRibbon->FindByID(ID_COMBO_UI));
- for (auto it : m_map_tree.find(curText.GetString())->second)
- {
- pStyleCombo->AddItem(it.c_str());
- }
- pStyleCombo->SetEditText(m_rscfg.menutree_style.c_str());
- }
- // 启动设备;
- Global::GetSysSerialPort(m_vtCOM);
- InitCombobox_port();
- RunDevice();
- #endif
- return 0;
- }
|