浏览代码

截图目录修改:本地截图、系统截图、指定截图;

scbc.sat2 5 年之前
父节点
当前提交
ea105e1846

+ 12 - 2
SATHelper/SATHelper/MainFrm.cpp

@@ -1136,8 +1136,14 @@ void CMainFrame::InitDevicePanel()
 			pStyleCombo->AddItem(it.ui.c_str());
 		}
 		pStyleCombo->SetEditText(m_rscfg.menutree_style.c_str());
+
+		CString strCurChip = pChipCombo->GetEditText();
+		CString strCurStyle = pStyleCombo->GetEditText();
+		_stprintf_s(m_szCurMenuTreeDir, _T("%s%s%s\\%s\\"), m_rscfg.sat_home.c_str(), _T("resource\\MenuTree\\"), strCurChip.GetString(), strCurStyle.GetString());
 	}
 
+
+
 	// 启动设备;
 	Global::GetSysSerialPort(m_vtCOM);
 	InitCombobox_port();
@@ -1259,6 +1265,8 @@ void CMainFrame::OnComboProduct()
 
 		CString strSubStyle = pSubUICombo->GetEditText();
 		WritePrivateProfileString(_T("MenuTree"), _T("menutreeselectedchannel"), strSubStyle, m_szRsCfgPath);
+
+		_stprintf_s(m_szCurMenuTreeDir, _T("%s%s%s\\%s\\"), m_rscfg.sat_home.c_str(), _T("resource\\MenuTree\\"), strCurChip.GetString(), strCurStyle.GetString());
 	}
 }
 
@@ -1279,12 +1287,12 @@ void CMainFrame::OnComboUi()
 	{
 		CMFCRibbonComboBox* pChipCombo = DYNAMIC_DOWNCAST(CMFCRibbonComboBox, pRibbon->FindByID(ID_COMBO_PRODUCT));
 		// UI下拉框;
-		CString curText = pChipCombo->GetEditText();
+		CString strCurChip = pChipCombo->GetEditText();
 		// SUBUI下拉框;
 		CString strUIName = pStyleCombo->GetEditText();
 		CMFCRibbonComboBox* pSubUICombo = DYNAMIC_DOWNCAST(CMFCRibbonComboBox, pRibbon->FindByID(ID_COMBO_SUBUI));
 		pSubUICombo->RemoveAllItems();
-		std::vector<UITree>& ui = m_map_tree.find(curText.GetString())->second;
+		std::vector<UITree>& ui = m_map_tree.find(strCurChip.GetString())->second;
 		for (std::vector<UITree>::iterator it = ui.begin(); it != ui.end(); it++)
 		{
 			if (_tcsicmp(strUIName.GetString(), it->ui.c_str()) == 0)
@@ -1307,6 +1315,8 @@ void CMainFrame::OnComboUi()
 
 		CString strSubStyle = pSubUICombo->GetEditText();
 		WritePrivateProfileString(_T("MenuTree"), _T("menutreeselectedchannel"), strSubStyle, m_szRsCfgPath);
+
+		_stprintf_s(m_szCurMenuTreeDir, _T("%s%s%s\\%s\\"), m_rscfg.sat_home.c_str(), _T("resource\\MenuTree\\"), strCurChip.GetString(), strCurStyle.GetString());
 	}
 }
 

+ 3 - 0
SATHelper/SATHelper/MainFrm.h

@@ -226,6 +226,9 @@ public:
 		std::vector<std::string> vtSubUI;
 	}UITree, * pUITree;
 	std::map<std::string, std::vector<UITree>> m_map_tree;
+
+	// 当前选中的MenuTree路径;
+	TCHAR m_szCurMenuTreeDir[MAX_PATH];
 	void ReadTreePath();
 
 	// 解析json;

+ 5 - 1
SATHelper/SATHelper/Resource.h

@@ -159,13 +159,17 @@
 #define ID_BUTTON2                      32805
 #define ID_COMBO1_22293                 32806
 #define ID_CHECK1_22293                 32807
+#define ID_CHECK2                       32818
+#define ID_CHECK_SHOT_SPEC              32818
+#define ID_CHECK_SHOT_LOCAL             32819
+#define ID_CHECK_SHOT_SYSTEM            32820
 
 // Next default values for new objects
 // 
 #ifdef APSTUDIO_INVOKED
 #ifndef APSTUDIO_READONLY_SYMBOLS
 #define _APS_NEXT_RESOURCE_VALUE        317
-#define _APS_NEXT_COMMAND_VALUE         32818
+#define _APS_NEXT_COMMAND_VALUE         32821
 #define _APS_NEXT_CONTROL_VALUE         1007
 #define _APS_NEXT_SYMED_VALUE           310
 #endif

+ 8 - 8
SATHelper/SATHelper/SATHelper.rc

@@ -53,11 +53,11 @@ BEGIN
     "\r\n"
     "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)\r\n"
     "LANGUAGE 4, 2\r\n"
-    "#include ""res\\SATHelper.rc2""  // 闂?Microsoft Visual C++ 缂傚倸鍊归悧鐐垫椤愶附鍎嶉柛鏇ㄥ枤閵堫偅绻?\n"
-    "#include ""l.CHS\\afxres.rc""      // 闂佸搫绉村ú銈夊闯椤栨粎纾奸柛鏇ㄤ簼椤?\n"
-    "#include ""l.CHS\\afxprint.rc""    // 闂佺懓鐏氶幐绋跨暤?闂佺懓鐏氶幐绋跨暤閸愨晪绱i柛鏇ㄥ櫘濞兼棃鎮硅鐎氼厾鑺?\n"
+    "#include ""res\\SATHelper.rc2""  // 闂?Microsoft Visual C++ 缂傚倸鍊搁崐褰掓偋閻愬灚顐芥い鎰堕檮閸庡秹鏌涢弴銊ユ灓闁靛牜鍋呯换?\n"
+    "#include ""l.CHS\\afxres.rc""      // 闂備礁鎼粔鏉懨洪妶澶婇棷妞ゆ牗绮庣壕濂告煕閺囥劋绨兼い?\n"
+    "#include ""l.CHS\\afxprint.rc""    // 闂備胶鎳撻悘姘跺箰缁嬭法鏆?闂備胶鎳撻悘姘跺箰缁嬭法鏆ら柛鎰ㄦ櫔缁憋綁鏌涢弴銊ユ珮婵炲吋妫冮幃纭咁槻閻庢凹鍘鹃懞?\n"
     "#if !defined(_AFXDLL)\r\n"
-    "#include ""l.CHS\\afxribbon.rc""        // MFC 闂佸憡姊婚崰鏇㈠礂濮椻偓瀹曠娀宕崟顒€顏梺纭呯焽閸愩劎鍘梺鍝勵棥閵堝洢鍋掑┑?\n"
+    "#include ""l.CHS\\afxribbon.rc""        // MFC 闂備礁鎲″濠氬窗閺囥垹绀傛慨妞诲亾鐎规洜濞€瀹曨偊宕熼鈧顖炴⒑绾懐鐒介柛鎰╁妿閸橆剟姊洪崫鍕垫%闁靛牆娲㈤崑鎺戔攽?\n"
     "#endif\r\n"
     "#endif\r\n"
     "\0"
@@ -777,11 +777,11 @@ END
 
 #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
 LANGUAGE 4, 2
-#include "res\SATHelper.rc2"  // 闂?Microsoft Visual C++ 缂傚倸鍊归悧鐐垫椤愶附鍎嶉柛鏇ㄥ枤閵堫偅绻?
-#include "l.CHS\afxres.rc"      // 闂佸搫绉村ú銈夊闯椤栨粎纾奸柛鏇ㄤ簼椤?
-#include "l.CHS\afxprint.rc"    // 闂佺懓鐏氶幐绋跨暤?闂佺懓鐏氶幐绋跨暤閸愨晪绱i柛鏇ㄥ櫘濞兼棃鎮硅鐎氼厾鑺?
+#include "res\SATHelper.rc2"  // 闂?Microsoft Visual C++ 缂傚倸鍊搁崐褰掓偋閻愬灚顐芥い鎰堕檮閸庡秹鏌涢弴銊ユ灓闁靛牜鍋呯换?
+#include "l.CHS\afxres.rc"      // 闂備礁鎼粔鏉懨洪妶澶婇棷妞ゆ牗绮庣壕濂告煕閺囥劋绨兼い?
+#include "l.CHS\afxprint.rc"    // 闂備胶鎳撻悘姘跺箰缁嬭法鏆?闂備胶鎳撻悘姘跺箰缁嬭法鏆ら柛鎰ㄦ櫔缁憋綁鏌涢弴銊ユ珮婵炲吋妫冮幃纭咁槻閻庢凹鍘鹃懞?
 #if !defined(_AFXDLL)
-#include "l.CHS\afxribbon.rc"        // MFC 闂佸憡姊婚崰鏇㈠礂濮椻偓瀹曠娀宕崟顒€顏梺纭呯焽閸愩劎鍘梺鍝勵棥閵堝洢鍋掑┑?
+#include "l.CHS\afxribbon.rc"        // MFC 闂備礁鎲″濠氬窗閺囥垹绀傛慨妞诲亾鐎规洜濞€瀹曨偊宕熼鈧顖炴⒑绾懐鐒介柛鎰╁妿閸橆剟姊洪崫鍕垫%闁靛牆娲㈤崑鎺戔攽?
 #endif
 #endif
 

+ 106 - 3
SATHelper/SATHelper/UB530View.cpp

@@ -232,6 +232,7 @@ CUB530View::CUB530View(): CFormView(DLG_UB530VIEW)
 	m_dwBufferLen = 0;
 	m_bIsMp4 = TRUE;
 	m_bSupportGPU = FALSE;
+	m_shotDir = ShotLocal;
 }
 
 CUB530View::~CUB530View()
@@ -265,7 +266,13 @@ BEGIN_MESSAGE_MAP(CUB530View, CFormView)
 	ON_UPDATE_COMMAND_UI(ID_CHECK_FORMAT_MP4, &CUB530View::OnUpdateCheckFormatMp4)
 	ON_UPDATE_COMMAND_UI(ID_CHECK_FORMAT_AVI, &CUB530View::OnUpdateCheckFormatAvi)
 	ON_UPDATE_COMMAND_UI(ID_START_RECORD, &CUB530View::OnUpdateStartRecord)
-	ON_UPDATE_COMMAND_UI(ID_STOP_RECORD, &CUB530View::OnUpdateStopRecord)
+	ON_UPDATE_COMMAND_UI(ID_STOP_RECORD, &CUB530View::OnUpdateStopRecord)	
+	ON_COMMAND(ID_CHECK_SHOT_LOCAL, &CUB530View::OnCheckShotLocal)
+	ON_UPDATE_COMMAND_UI(ID_CHECK_SHOT_LOCAL, &CUB530View::OnUpdateCheckShotLocal)
+	ON_COMMAND(ID_CHECK_SHOT_SYSTEM, &CUB530View::OnCheckShotSystem)
+	ON_UPDATE_COMMAND_UI(ID_CHECK_SHOT_SYSTEM, &CUB530View::OnUpdateCheckShotSystem)
+	ON_COMMAND(ID_CHECK_SHOT_SPEC, &CUB530View::OnCheckShotSpec)
+	ON_UPDATE_COMMAND_UI(ID_CHECK_SHOT_SPEC, &CUB530View::OnUpdateCheckShotSpec)
 	ON_WM_CREATE()
 END_MESSAGE_MAP()
 
@@ -954,14 +961,26 @@ void CUB530View::OnTimer(UINT_PTR nIDEvent)
 void CUB530View::OnCutBmp()
 {
 	// TODO: 在此添加命令处理程序代码
-	CaptureSingleImageAutoName(NULL, FALSE);
+	TCHAR szImgDir[MAX_PATH] = {0};
+	if ( m_shotDir == ShotLocal )
+		CaptureSingleImageAutoName(NULL, FALSE);
+	else if (m_shotDir == ShotSystem)
+	{
+		CaptureSingleImageAutoName(g_pMainFrame->m_szCurMenuTreeDir, FALSE);
+	}
 }
 
 
 void CUB530View::OnCutJpg()
 {
 	// TODO: 在此添加命令处理程序代码
-	CaptureSingleImageAutoName(NULL, TRUE);
+	TCHAR szImgDir[MAX_PATH] = { 0 };
+	if (m_shotDir == ShotLocal)
+		CaptureSingleImageAutoName(NULL, TRUE);
+	else if (m_shotDir == ShotSystem)
+	{
+		CaptureSingleImageAutoName(g_pMainFrame->m_szCurMenuTreeDir, TRUE);
+	}
 }
 
 
@@ -1137,6 +1156,90 @@ void CUB530View::OnUpdateStopRecord(CCmdUI* pCmdUI)
 }
 
 
+
+void CUB530View::OnCheckShotLocal()
+{
+	CMFCRibbonBar* pRibbon = g_pMainFrame->GetRibbonBar();
+	ASSERT_VALID(pRibbon);
+	CMFCRibbonButton* pCheck = DYNAMIC_DOWNCAST(CMFCRibbonButton, pRibbon->FindByID(ID_CHECK_SHOT_LOCAL));
+	if ( pCheck )
+	{
+		if ( pCheck->IsChecked() )
+		{
+			m_shotDir = ShotSystem;
+		}
+		else
+		{
+			m_shotDir = ShotLocal;
+		}
+	}
+}
+
+
+void CUB530View::OnUpdateCheckShotLocal(CCmdUI* pCmdUI)
+{
+	// TODO: 在此添加命令更新用户界面处理程序代码
+	if (m_shotDir == ShotLocal)
+		pCmdUI->SetCheck(TRUE);
+	else
+		pCmdUI->SetCheck(FALSE);
+}
+
+void CUB530View::OnCheckShotSystem()
+{
+	CMFCRibbonBar* pRibbon = g_pMainFrame->GetRibbonBar();
+	ASSERT_VALID(pRibbon);
+	CMFCRibbonButton* pCheck = DYNAMIC_DOWNCAST(CMFCRibbonButton, pRibbon->FindByID(ID_CHECK_SHOT_SYSTEM));
+	if (pCheck)
+	{
+		if (pCheck->IsChecked())
+		{
+			m_shotDir = ShotSpec;
+		}
+		else
+		{
+			m_shotDir = ShotSystem;
+		}
+	}
+}
+
+void CUB530View::OnUpdateCheckShotSystem(CCmdUI* pCmdUI)
+{
+	if (m_shotDir == ShotSystem)
+		pCmdUI->SetCheck(TRUE);
+	else
+		pCmdUI->SetCheck(FALSE);
+}
+
+void CUB530View::OnCheckShotSpec()
+{
+	CMFCRibbonBar* pRibbon = g_pMainFrame->GetRibbonBar();
+	ASSERT_VALID(pRibbon);
+	CMFCRibbonButton* pCheck = DYNAMIC_DOWNCAST(CMFCRibbonButton, pRibbon->FindByID(ID_CHECK_SHOT_SPEC));
+	if (pCheck)
+	{
+		if (pCheck->IsChecked())
+		{
+			m_shotDir = ShotLocal;
+		}
+		else
+		{
+			//m_shotDir = ShotSpec;
+			AfxMessageBox(_T("该功能暂时未开发……"));
+		}
+	}
+}
+
+void CUB530View::OnUpdateCheckShotSpec(CCmdUI* pCmdUI)
+{
+	if (m_shotDir == ShotSpec)
+		pCmdUI->SetCheck(TRUE);
+	else
+		pCmdUI->SetCheck(FALSE);
+}
+
+
+
 int CUB530View::OnCreate(LPCREATESTRUCT lpCreateStruct)
 {
 	if (CFormView::OnCreate(lpCreateStruct) == -1)

+ 15 - 0
SATHelper/SATHelper/UB530View.h

@@ -134,6 +134,14 @@ public:
 	public:
 
 public:
+	// 截图路径;
+	enum SHOTDir{
+		ShotLocal = 0,
+		ShotSystem = 1,
+		ShotSpec = 2
+	};
+	SHOTDir m_shotDir;
+
 	void SetRibbonStatusBarText(CString strText, int uId);
 	friend class CMemoryClient;
 	afx_msg void OnTimer(UINT_PTR nIDEvent);
@@ -154,7 +162,14 @@ public:
 	afx_msg void OnUpdateCheckFormatAvi(CCmdUI* pCmdUI);
 	afx_msg void OnUpdateStartRecord(CCmdUI* pCmdUI);
 	afx_msg void OnUpdateStopRecord(CCmdUI* pCmdUI);
+	afx_msg void OnCheckShotLocal();
+	afx_msg void OnUpdateCheckShotLocal(CCmdUI* pCmdUI);
+	afx_msg void OnCheckShotSystem();
+	afx_msg void OnUpdateCheckShotSystem(CCmdUI* pCmdUI);
+	afx_msg void OnCheckShotSpec();
+	afx_msg void OnUpdateCheckShotSpec(CCmdUI* pCmdUI);
 	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
+	
 };
 
 

文件差异内容过多而无法显示
+ 0 - 1059
SATHelper/SATHelper/res/ribbon.mfcribbon-ms


部分文件因为文件数量过多而无法显示