Quellcode durchsuchen

1、CMFCRibbonComboBox控件句柄的获取方式;
2、CMFCRibbonComboBox控件添加子项的方式;

scbc.sat2 vor 5 Jahren
Ursprung
Commit
6f5fb0b93d

+ 55 - 3
SATHelper/SATHelper/DeviceView.cpp

@@ -4,8 +4,8 @@
 #include "stdafx.h"
 #include "SATHelper.h"
 #include "DeviceView.h"
-
-
+#include "MainFrm.h"
+extern CMainFrame* g_pMainFrame;
 // CDeviceView
 
 IMPLEMENT_DYNCREATE(CDeviceView, CFormView)
@@ -13,7 +13,7 @@ IMPLEMENT_DYNCREATE(CDeviceView, CFormView)
 CDeviceView::CDeviceView()
 	: CFormView(DLG_DEVICEMANAGER)
 {
-
+	ReadBaiduCfg(m_bdcfg);
 }
 
 CDeviceView::~CDeviceView()
@@ -59,11 +59,63 @@ void CDeviceView::Dump(CDumpContext& dc) const
 // 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::OnInitialUpdate()
 {
 	CFormView::OnInitialUpdate();
 
 	// TODO: 在此添加专用代码和/或调用基类
+	CMFCRibbonBar* pRibbon = g_pMainFrame->GetRibbonBar();
+	ASSERT_VALID(pRibbon);
+	CMFCRibbonComboBox* pSizeCombo = DYNAMIC_DOWNCAST(CMFCRibbonComboBox, pRibbon->FindByID(ID_COMBOX_OCR));
+	if ( pSizeCombo )
+	{
+		pSizeCombo->AddItem("dfdfdfd");
+		pSizeCombo->AddItem("dfdfdfd4444444");
+	}
 }
 
 

+ 24 - 0
SATHelper/SATHelper/DeviceView.h

@@ -27,6 +27,30 @@ protected:
 	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持
 
 	DECLARE_MESSAGE_MAP()
+
+
+public:
+	//////////////////////////////////////////////////////////////////////////
+	// 读取baidu.cfg配置文件内容;
+	typedef struct __COUNT_INFO__
+	{
+		std::string app_id;
+		std::string api_key;
+		std::string secret_key;
+		std::string ret_count;
+	}CountInfo, *pCountInfo;
+
+	typedef struct __BAIDU_CFG__
+	{
+		std::string cur_count;
+		std::string reset_time;
+		std::map<std::string, __COUNT_INFO__> list_count;
+	}BaiduCfg, *pBaiduCfg;
+
+	BaiduCfg m_bdcfg;
+	TCHAR m_szBaiduCfgPath[MAX_PATH];
+	void ReadBaiduCfg(BaiduCfg &bdcfg);
+
 public:
 	virtual void OnInitialUpdate();
 	virtual void OnDraw(CDC* /*pDC*/);

+ 17 - 17
SATHelper/SATHelper/SATHelper.vcxproj.filters

@@ -34,7 +34,7 @@
     <Filter Include="内存通信">
       <UniqueIdentifier>{40141f1d-97c3-4250-b0f8-212872fba529}</UniqueIdentifier>
     </Filter>
-    <Filter Include="串口">
+    <Filter Include="设备管理">
       <UniqueIdentifier>{ed995c5b-408e-413c-93ea-67ed56e847fc}</UniqueIdentifier>
     </Filter>
   </ItemGroup>
@@ -114,9 +114,6 @@
     <ClInclude Include="..\UI\XColorStatic.h">
       <Filter>UI</Filter>
     </ClInclude>
-    <ClInclude Include="Device.h">
-      <Filter>头文件</Filter>
-    </ClInclude>
     <ClInclude Include="Global.h">
       <Filter>头文件</Filter>
     </ClInclude>
@@ -135,9 +132,6 @@
     <ClInclude Include="IRControlWnd.h">
       <Filter>DockPane</Filter>
     </ClInclude>
-    <ClInclude Include="DeviceView.h">
-      <Filter>头文件</Filter>
-    </ClInclude>
     <ClInclude Include="tinyxml2.h">
       <Filter>tinyxml</Filter>
     </ClInclude>
@@ -154,13 +148,19 @@
       <Filter>内存通信</Filter>
     </ClInclude>
     <ClInclude Include="SynSerial.h">
-      <Filter>串口</Filter>
+      <Filter>设备管理</Filter>
     </ClInclude>
     <ClInclude Include="ViewTree.h">
       <Filter>DockPane</Filter>
     </ClInclude>
+    <ClInclude Include="Device.h">
+      <Filter>设备管理</Filter>
+    </ClInclude>
     <ClInclude Include="UB530View.h">
-      <Filter>头文件</Filter>
+      <Filter>设备管理</Filter>
+    </ClInclude>
+    <ClInclude Include="DeviceView.h">
+      <Filter>设备管理</Filter>
     </ClInclude>
   </ItemGroup>
   <ItemGroup>
@@ -230,9 +230,6 @@
     <ClCompile Include="..\UI\XColorStatic.cpp">
       <Filter>UI</Filter>
     </ClCompile>
-    <ClCompile Include="Device.cpp">
-      <Filter>源文件</Filter>
-    </ClCompile>
     <ClCompile Include="Global.cpp">
       <Filter>源文件</Filter>
     </ClCompile>
@@ -245,9 +242,6 @@
     <ClCompile Include="IRControlWnd.cpp">
       <Filter>DockPane</Filter>
     </ClCompile>
-    <ClCompile Include="DeviceView.cpp">
-      <Filter>源文件</Filter>
-    </ClCompile>
     <ClCompile Include="tinyxml2.cpp">
       <Filter>tinyxml</Filter>
     </ClCompile>
@@ -258,13 +252,19 @@
       <Filter>内存通信</Filter>
     </ClCompile>
     <ClCompile Include="SynSerial.cpp">
-      <Filter>串口</Filter>
+      <Filter>设备管理</Filter>
     </ClCompile>
     <ClCompile Include="ViewTree.cpp">
       <Filter>DockPane</Filter>
     </ClCompile>
+    <ClCompile Include="Device.cpp">
+      <Filter>设备管理</Filter>
+    </ClCompile>
+    <ClCompile Include="DeviceView.cpp">
+      <Filter>设备管理</Filter>
+    </ClCompile>
     <ClCompile Include="UB530View.cpp">
-      <Filter>源文件</Filter>
+      <Filter>设备管理</Filter>
     </ClCompile>
   </ItemGroup>
   <ItemGroup>