ソースを参照

测试精灵串口常开:开启,只应用于打开串口,不作切换红老鼠功能。

sat23 4 年 前
コミット
4d191f0aa4

+ 2 - 0
SATHelper/SATHelper/Global.cpp

@@ -259,6 +259,8 @@ namespace Global
 		g_Config.bSVNRealTimeUpdate = GetPrivateProfileInt(_T("SATHelper"), _T("SVNRealTimeUpdate"), 0, szConfigpath);
 		// ¶ÁÈ¡ÅäÖÃÄÚÈÝ;
 		g_Config.enableTW = GetPrivateProfileInt(_T("SATHelper"), _T("enableTW"), 0, szConfigpath);
+		g_Config.useTW = GetPrivateProfileInt(_T("SATHelper"), _T("useTW"), 0, szConfigpath);
+
 		GetPrivateProfileString(_T("SATHelper"), _T("MIInitBat"), NULL, szValue, MAX_PATH, szConfigpath);
 		if (_tcslen(szValue) == 0)
 		{

+ 1 - 0
SATHelper/SATHelper/Global.h

@@ -28,6 +28,7 @@ namespace Global
 		int nLanguage;	// 0:Chinese, 1:english
 		// 是否启用测试精灵;
 		bool enableTW;
+		bool useTW;
 		std::string strMIInitBat;
 		std::string strSCBCInitBat;
 		// script、tester、resource保存目录;

+ 6 - 0
SATHelper/SATHelper/GlobalString.cpp

@@ -16,6 +16,9 @@ namespace GlobalString
 	CString g_strRemoteDevice;	
 	CString g_strRestartRemoteDevice;
 	CString g_strRemoteSelect;	
+	CString g_strSwitchRemote;
+	CString g_strFindIR;
+	CString g_strFindBL;
 	// Ö´ÐÐÆ÷;
 	CString g_strActuator;
 	CString g_strActuatorModify;
@@ -55,6 +58,9 @@ namespace GlobalString
 		g_strRemoteDevice.LoadString(IDS_REMOTE_DEVICE);
 		g_strRestartRemoteDevice.LoadString(IDS_RESTART_REMOTE_DEVICE);
 		g_strRemoteSelect.LoadString(IDS_REMOTE_SELECTE);
+		g_strSwitchRemote.LoadString(IDS_REMOTE_SWITCH);
+		g_strFindIR.LoadString(IDS_REMOTE_FIND_IR);
+		g_strFindBL.LoadString(IDS_REMOTE_FIND_BL);
 		// Ö´ÐÐÆ÷;
 		g_strActuator.LoadString(IDS_ACTUATOR);
 		g_strActuatorModify.LoadString(IDS_ACTUATOR_MODIFY);

+ 3 - 1
SATHelper/SATHelper/GlobalString.h

@@ -16,7 +16,9 @@ namespace GlobalString
 	extern CString g_strRemoteDevice;
 	extern CString g_strRestartRemoteDevice;
 	extern CString g_strRemoteSelect;
-	
+	extern CString g_strSwitchRemote;
+	extern CString g_strFindIR;
+	extern CString g_strFindBL;
 	// Ö´ÐÐÆ÷;
 	extern CString g_strActuator;
 	extern CString g_strActuatorModify;

+ 159 - 68
SATHelper/SATHelper/IRControlWnd.cpp

@@ -24,6 +24,20 @@ static char THIS_FILE[] = __FILE__;
 #define new DEBUG_NEW
 #endif
 
+// 重启进程按钮id;
+#define ID_BUTTON_RESTART_PROC 1
+// 复制框控件id;
+#define ID_CHECKBOX_SIGNAL_TYPE 2
+
+// 切换遥控器;
+#define ID_BUTTON_SWITCH_REMOTE 3
+// 查找红外;
+#define ID_BUTTON_FIND_INFRARED 4
+// 查找蓝牙;
+#define ID_BUTTON_FIND_BLUETOOTH 5
+
+// 下拉框控件id;
+#define ID_COMBOBOX_SIGNAL_FILE 6
 extern CMainFrame* g_pMainFrame;
 /////////////////////////////////////////////////////////////////////////////
 // CResourceViewBar
@@ -61,6 +75,81 @@ CIRControlWnd::CIRControlWnd() noexcept
 	m_bSendKey = FALSE;
 }
 
+int CIRControlWnd::CreateCtrl()
+{
+	CRect rectDummy;
+	rectDummy.SetRectEmpty();
+
+	// 创建组合: 
+	const DWORD dwViewStyle = WS_CHILD | WS_VISIBLE | CBS_DROPDOWNLIST | WS_BORDER | CBS_SORT | WS_CLIPSIBLINGS | WS_CLIPCHILDREN;
+
+#if 0
+	if (!m_btnRestart.Create(GlobalString::g_strRestartRemoteDevice, WS_CHILD | WS_VISIBLE, rectDummy, this, ID_BUTTON_RESTART_PROC))
+	{
+		TRACE0("未能创建遥控器组合 \n");
+		return -1;      // 未能创建
+	}
+
+	if (!m_wndSignalCheck.Create(GlobalString::g_strRemoteSelect, WS_CHILD | WS_VISIBLE | BS_AUTOCHECKBOX, rectDummy, this, ID_CHECKBOX_SIGNAL_TYPE))
+	{
+		TRACE0("未能创建信号集下拉框 \n");
+		return -1;      // 未能创建
+	}
+	m_wndSignalCheck.SetCheck(Global::g_Config.bGenerics ? BST_CHECKED : BST_UNCHECKED);
+	m_wndSignalCheck.m_bHighlightChecked = TRUE;
+	// CMFCButton只能用图标来显示check;
+	m_wndSignalCheck.SetImage(IDB_UNCHECKED);
+	m_wndSignalCheck.SetCheckedImage(IDB_CHECKED);
+	m_wndSignalCheck.m_bTransparent = FALSE;
+	m_wndSignalCheck.m_bDrawFocus = FALSE;
+	m_wndSignalCheck.m_nFlatStyle = CMFCButton::BUTTONSTYLE_FLAT;
+	m_wndSignalCheck.SizeToContent();
+#endif
+	if (!m_btnSwitchRemote.Create(GlobalString::g_strSwitchRemote, WS_CHILD | WS_VISIBLE, rectDummy, this, ID_BUTTON_SWITCH_REMOTE))
+	{
+		TRACE0("未能创建遥控器组合 \n");
+		return -1;      // 未能创建
+	}
+
+	if (!m_btnFindinfraRed.Create(GlobalString::g_strFindIR, WS_CHILD | WS_VISIBLE, rectDummy, this, ID_BUTTON_FIND_INFRARED))
+	{
+		TRACE0("未能创建遥控器组合 \n");
+		return -1;      // 未能创建
+	}
+
+	if (!m_btnFindBluetooth.Create(GlobalString::g_strFindBL, WS_CHILD | WS_VISIBLE, rectDummy, this, ID_BUTTON_FIND_BLUETOOTH))
+	{
+		TRACE0("未能创建遥控器组合 \n");
+		return -1;      // 未能创建
+	}
+
+	if (!m_wndSignalCombo.Create(dwViewStyle | WS_VSCROLL | WS_HSCROLL, CRect(0, 0, 100, 20), this, ID_COMBOBOX_SIGNAL_FILE))
+	{
+		TRACE0("未能创建信号集下拉框 \n");
+		return -1;      // 未能创建
+	}
+
+	if (!m_cbTree1.Create(dwViewStyle | WS_VSCROLL | WS_HSCROLL, rectDummy, this, ID_COMBOBOX_SIGNAL_FILE + 1))
+	{
+		TRACE0("未能创建信号集下拉框 \n");
+		return -1;      // 未能创建
+	}
+
+	if (!m_cbTree2.Create(dwViewStyle | WS_VSCROLL | WS_HSCROLL, rectDummy, this, ID_COMBOBOX_SIGNAL_FILE + 2))
+	{
+		TRACE0("未能创建信号集下拉框 \n");
+		return -1;      // 未能创建
+	}
+
+	if (!m_cbTree3.Create(dwViewStyle | WS_VSCROLL | WS_HSCROLL, rectDummy, this, ID_COMBOBOX_SIGNAL_FILE + 3))
+	{
+		TRACE0("未能创建信号集下拉框 \n");
+		return -1;      // 未能创建
+	}
+
+	return 0;
+}
+
 CIRControlWnd::~CIRControlWnd()
 {
 	RedRat::UnloadLibrary();
@@ -76,12 +165,6 @@ CIRControlWnd::~CIRControlWnd()
 	m_vtBtnInfo.clear();
 }
 
-// 重启进程按钮id;
-#define ID_BUTTON_RESTART_PROC 1
-// 复制框控件id;
-#define ID_CHECKBOX_SIGNAL_TYPE 2
-// 下拉框控件id;
-#define ID_COMBOBOX_SIGNAL_FILE 3
 
 BEGIN_MESSAGE_MAP(CIRControlWnd, CDockablePane)
 	ON_WM_CREATE()
@@ -111,6 +194,15 @@ BEGIN_MESSAGE_MAP(CIRControlWnd, CDockablePane)
 	// 重启按钮;
 	ON_UPDATE_COMMAND_UI(ID_BUTTON_RESTART_PROC, OnUpdateBtnRestartProc)
 	ON_COMMAND(ID_BUTTON_RESTART_PROC, OnBtnRestartProcClicked)
+	// 切换遥控器;
+	ON_UPDATE_COMMAND_UI(ID_BUTTON_SWITCH_REMOTE, OnUpdateSwitchRemote)
+	ON_COMMAND(ID_BUTTON_SWITCH_REMOTE, OnSwitchRemoteClicked)
+	// 查找红外;
+	ON_UPDATE_COMMAND_UI(ID_BUTTON_FIND_INFRARED, OnUpdateFindFindinfraRed)
+	ON_COMMAND(ID_BUTTON_FIND_INFRARED, OnFindFindinfraRedClicked)
+	// 查找蓝牙;
+	ON_UPDATE_COMMAND_UI(ID_BUTTON_FIND_BLUETOOTH, OnUpdateFindBluetooth)
+	ON_COMMAND(ID_BUTTON_FIND_BLUETOOTH, OnFindBluetoothClicked)
 	//ON_UPDATE_COMMAND_UI(ID_BUTTON_RESTART_PROC, OnUpdateReStartBtn)
 END_MESSAGE_MAP()
 
@@ -131,6 +223,7 @@ void CIRControlWnd::AdjustLayout()
 	CRect rectClient;
 	GetClientRect(rectClient);
 	TRACE2(_T("更新后的大小:%d,%d"), rectClient.Width(), rectClient.Height());
+#if 0
 	m_btnRestart.SetWindowPos(nullptr, rectClient.left + dr, rectClient.top + dr, (rectClient.Width() - dr * 3) / 2, m_nComboHeight, SWP_NOACTIVATE | SWP_NOZORDER);
 
 	m_btnRestart.GetWindowRect(rcCtrl);
@@ -139,6 +232,14 @@ void CIRControlWnd::AdjustLayout()
 
 	m_wndSignalCheck.GetWindowRect(rcCtrl);
 	ScreenToClient(rcCtrl);
+#else
+	int nBtnWidth = (rectClient.Width() - dr * 4) / 3;
+	m_btnSwitchRemote.SetWindowPos(nullptr, rectClient.left + dr, rectClient.top + dr, nBtnWidth, m_nComboHeight, SWP_NOACTIVATE | SWP_NOZORDER);
+	m_btnFindinfraRed.SetWindowPos(nullptr, rectClient.left + dr*2 + nBtnWidth, rectClient.top + dr, nBtnWidth, m_nComboHeight, SWP_NOACTIVATE | SWP_NOZORDER);
+	m_btnFindBluetooth.SetWindowPos(nullptr, rectClient.left + dr*3 + nBtnWidth *2, rectClient.top + dr, nBtnWidth, m_nComboHeight, SWP_NOACTIVATE | SWP_NOZORDER);
+	m_btnFindBluetooth.GetWindowRect(rcCtrl);
+	ScreenToClient(rcCtrl);
+#endif
 	// 注意:此combobox高度并是包含了下拉项的高度;
 	m_wndSignalCombo.SetWindowPos(nullptr, rectClient.left + dr, rcCtrl.bottom + dr, rectClient.Width() - dc * 2, m_nComboHeight + 233, SWP_NOACTIVATE | SWP_NOZORDER);
 	//::MoveWindow(m_wndSignalCombo.m_hWnd, rectClient.left + 5, rcCtrl.bottom + 5, rectClient.Width() - 10, m_nComboHeight + 233, TRUE);
@@ -192,56 +293,8 @@ int CIRControlWnd::OnCreate(LPCREATESTRUCT lpCreateStruct)
 	if (CDockablePane::OnCreate(lpCreateStruct) == -1)
 		return -1;
 
-	CRect rectDummy;
-	rectDummy.SetRectEmpty();
-
-	// 创建组合: 
-	const DWORD dwViewStyle = WS_CHILD | WS_VISIBLE | CBS_DROPDOWNLIST | WS_BORDER | CBS_SORT | WS_CLIPSIBLINGS | WS_CLIPCHILDREN;
-
-	if (!m_btnRestart.Create(GlobalString::g_strRestartRemoteDevice, WS_CHILD | WS_VISIBLE, rectDummy, this, ID_BUTTON_RESTART_PROC))
-	{
-		TRACE0("未能创建遥控器组合 \n");
-		return -1;      // 未能创建
-	}
-
-	if (!m_wndSignalCheck.Create(GlobalString::g_strRemoteSelect, WS_CHILD | WS_VISIBLE | BS_AUTOCHECKBOX, rectDummy, this, ID_CHECKBOX_SIGNAL_TYPE))
-	{
-		TRACE0("未能创建信号集下拉框 \n");
-		return -1;      // 未能创建
-	}
-	m_wndSignalCheck.SetCheck(Global::g_Config.bGenerics ? BST_CHECKED : BST_UNCHECKED);
-	m_wndSignalCheck.m_bHighlightChecked = TRUE;
-	// CMFCButton只能用图标来显示check;
-	m_wndSignalCheck.SetImage(IDB_UNCHECKED);
-	m_wndSignalCheck.SetCheckedImage(IDB_CHECKED);
-	m_wndSignalCheck.m_bTransparent = FALSE;
-	m_wndSignalCheck.m_bDrawFocus = FALSE;
-	m_wndSignalCheck.m_nFlatStyle = CMFCButton::BUTTONSTYLE_FLAT;
-	m_wndSignalCheck.SizeToContent();
-
-	if (!m_wndSignalCombo.Create(dwViewStyle | WS_VSCROLL | WS_HSCROLL, CRect(0, 0, 100, 20), this, ID_COMBOBOX_SIGNAL_FILE))
-	{
-		TRACE0("未能创建信号集下拉框 \n");
-		return -1;      // 未能创建
-	}
-
-	if (!m_cbTree1.Create(dwViewStyle | WS_VSCROLL | WS_HSCROLL, rectDummy, this, ID_COMBOBOX_SIGNAL_FILE + 1))
-	{
-		TRACE0("未能创建信号集下拉框 \n");
-		return -1;      // 未能创建
-	}
-
-	if (!m_cbTree2.Create(dwViewStyle | WS_VSCROLL | WS_HSCROLL, rectDummy, this, ID_COMBOBOX_SIGNAL_FILE + 2))
-	{
-		TRACE0("未能创建信号集下拉框 \n");
-		return -1;      // 未能创建
-	}
-
-	if (!m_cbTree3.Create(dwViewStyle | WS_VSCROLL | WS_HSCROLL, rectDummy, this, ID_COMBOBOX_SIGNAL_FILE + 3))
-	{
-		TRACE0("未能创建信号集下拉框 \n");
-		return -1;      // 未能创建
-	}
+	if (CreateCtrl() != 0)
+		return -1;
 
 	LoadSignals();
 	SetPropListFont();
@@ -277,13 +330,10 @@ int CIRControlWnd::OnCreate(LPCREATESTRUCT lpCreateStruct)
 	}
 
 	StartIRDevice(FALSE);
-	if (Global::g_Config.enableTW)
-	{
+	if (Global::g_Config.useTW) {
 		std::string signaldir = Global::g_Config.twSignaldir;
 		std::string signalpath = signaldir + "\\";
 		signalpath.append(Global::g_Config.twUseSignal + ".xml");
-
-		TW::OpenDevice(Global::g_Config.twPort, 115200, 8, 0, 0);
 		TW::LoadXml(signalpath.c_str());
 	}
 
@@ -378,7 +428,7 @@ void CIRControlWnd::OnCbnSelchangeSignal()
 		m_wndSignalCombo.GetLBText(nCurSel, strSignal);
 
 		// 保存到配置文件中;
-		if (Global::g_Config.enableTW)
+		if (Global::g_Config.useTW)
 		{
 			Global::g_Config.twUseSignal = strSignal.GetString();
 			WritePrivateProfileString("TestWizard", "useSignal", strSignal.GetString(), Global::g_szConfig);
@@ -599,7 +649,7 @@ void CIRControlWnd::StartIRDevice(BOOL bReStart)
 
 void CIRControlWnd::ReLoadSignalXml()
 {
-	if (Global::g_Config.enableTW)
+	if (Global::g_Config.useTW)
 	{
 		std::string signaldir = Global::g_Config.twSignaldir;
 		std::string signalpath = signaldir + "\\";
@@ -686,7 +736,9 @@ void CIRControlWnd::ReLoadSignalXml()
 
 void CIRControlWnd::LoadSignals()
 {
-	if (Global::g_Config.enableTW)
+	//AfxMessageBox("LoadSignals\r");
+	m_wndSignalCombo.ResetContent();
+	if (Global::g_Config.useTW)
 	{
 		filehelper fh;
 		fh.getfiles_findout_subfolder(Global::g_Config.twSignaldir.c_str(), NULL, &m_vtsignal_tw);
@@ -840,7 +892,7 @@ void CIRControlWnd::OnSignalBtnClick(UINT uId) // 发送遥控信号;
 		CString text;
 		pWnd->GetWindowText(text);
 
-		if (Global::g_Config.enableTW)
+		if (Global::g_Config.useTW)
 		{
 			TW::SendKey(text.GetString());
 		}
@@ -867,12 +919,12 @@ void CIRControlWnd::OnUpdateSignalBtn(CCmdUI* pCmdUI)
 
 void CIRControlWnd::OnUpdateCheckBox(CCmdUI* pCmdUI)
 {
-	pCmdUI->Enable(!Global::g_Config.enableTW);
+	pCmdUI->Enable(!Global::g_Config.useTW);
 }
 
 void CIRControlWnd::OnCheckBoxClicked()
 {
-	if (Global::g_Config.enableTW)
+	if (Global::g_Config.useTW)
 	{
 
 	}
@@ -906,7 +958,7 @@ void CIRControlWnd::OnCheckBoxClicked()
 
 void CIRControlWnd::OnUpdateBtnRestartProc(CCmdUI* pCmdUI)
 {
-	pCmdUI->Enable(!Global::g_Config.enableTW);
+	pCmdUI->Enable(!Global::g_Config.useTW);
 }
 
 void CIRControlWnd::OnBtnRestartProcClicked() // 重启红老鼠;
@@ -915,10 +967,49 @@ void CIRControlWnd::OnBtnRestartProcClicked() // 重启红老鼠;
 	StartIRDevice();
 }
 
+void CIRControlWnd::OnUpdateSwitchRemote(CCmdUI* pCmdUI)
+{
+}
+
+void CIRControlWnd::OnSwitchRemoteClicked()
+{
+	Global::g_Config.useTW = !Global::g_Config.useTW;
+	if (Global::g_Config.useTW)
+	{
+		m_btnSwitchRemote.SetWindowText(Global::g_Config.nLanguage ? _T("SwitchToRedRat") : _T("切换到红老鼠"));
+	}
+	else
+	{
+		m_btnSwitchRemote.SetWindowText(GlobalString::g_strSwitchRemote);
+	}
+
+	WritePrivateProfileString(_T("SATHelper"), _T("useTW"), Global::g_Config.useTW ? _T("1") : _T("0"), Global::g_szConfig);
+	// 同时写入resource_run.cfg中:[devices].[rcudevice_selected]
+	WritePrivateProfileString(_T("devices"), _T("rcudevice_selected"), Global::g_Config.useTW ? _T("tw") : _T("redrat4"), g_pMainFrame->m_szRsCfgPath);
+	LoadSignals();
+	ReLoadSignalXml();
+}
+
+void CIRControlWnd::OnUpdateFindFindinfraRed(CCmdUI* pCmdUI)
+{
+}
+
+void CIRControlWnd::OnFindFindinfraRedClicked()
+{
+}
+
+void CIRControlWnd::OnUpdateFindBluetooth(CCmdUI* pCmdUI)
+{
+}
+
+void CIRControlWnd::OnFindBluetoothClicked()
+{
+}
+
 void CIRControlWnd::UpdateSignalBtnStatus()
 {
 	std::string data;
-	if (Global::g_Config.enableTW)
+	if (Global::g_Config.useTW)
 	{
 		if (TW::GetSignalsName)
 			data = TW::GetSignalsName();

+ 15 - 0
SATHelper/SATHelper/IRControlWnd.h

@@ -62,12 +62,18 @@ protected:
 	CDlgIRControl m_dlgIRControl;
 #endif
 
+	CMFCButton m_btnSwitchRemote;
+	CMFCButton m_btnFindinfraRed;
+	CMFCButton m_btnFindBluetooth;
+
 	// TREE一级选项;
 	CComboBox m_cbTree1;
 	// TREE二级选项;
 	CComboBox m_cbTree2;
 	// TREE三级;
 	CComboBox m_cbTree3;
+
+	int CreateCtrl();
 	
 // 实现
 public:
@@ -135,6 +141,15 @@ public:
 	// 更新重启按钮状态;
 	afx_msg void OnUpdateBtnRestartProc(CCmdUI* pCmdUI);
 	afx_msg void OnBtnRestartProcClicked();
+	// 选择遥控器;
+	afx_msg void OnUpdateSwitchRemote(CCmdUI* pCmdUI);
+	afx_msg void OnSwitchRemoteClicked();
+
+	afx_msg void OnUpdateFindFindinfraRed(CCmdUI* pCmdUI);
+	afx_msg void OnFindFindinfraRedClicked();
+
+	afx_msg void OnUpdateFindBluetooth(CCmdUI* pCmdUI);
+	afx_msg void OnFindBluetoothClicked();
 	// 更新按钮实际状态;
 	void UpdateSignalBtnStatus();
 	// 自动根据Combobox选项长度设置宽度;

+ 6 - 6
SATHelper/SATHelper/MainFrm.cpp

@@ -1313,6 +1313,11 @@ void CMainFrame::InitDevicePanel()
 		USBUPGRADE::StartMonitor();
 	}
 
+	if (Global::g_Config.enableTW)
+		TW::OpenDevice(Global::g_Config.twPort, 115200, 8, 0, 0);
+	else
+		TW::CloseDevice();
+
 	// 启动设备;
 	Global::GetSysSerialPort(m_vtCOM);
 	InitCombobox_port();
@@ -1798,16 +1803,11 @@ void CMainFrame::OnCheckEnabletw()
 	CMFCRibbonButton* pCheckEnableTW = DYNAMIC_DOWNCAST(CMFCRibbonButton, pRibbon->FindByID(ID_CHECK_ENABLETW));
 	Global::g_Config.enableTW = !pCheckEnableTW->IsChecked();
 	WritePrivateProfileString(_T("SATHelper"), _T("enableTW"), Global::g_Config.enableTW ? _T("1") : _T("0"), Global::g_szConfig);
-	// 同时写入resource_run.cfg中:[devices].[rcudevice_selected]
-	WritePrivateProfileString(_T("devices"), _T("rcudevice_selected"), Global::g_Config.enableTW ? _T("tw") : _T("redrat4"), m_szRsCfgPath);
-
+	
 	if (Global::g_Config.enableTW)
 		TW::OpenDevice(Global::g_Config.twPort, 115200, 8, 0, 0);
 	else
 		TW::CloseDevice();
-		
-	m_wndIRControl.LoadSignals();
-	m_wndIRControl.ReLoadSignalXml();
 }
 
 

+ 3 - 1
SATHelper/SATHelper/Resource.h

@@ -55,9 +55,11 @@
 #define ID_OPEN                         136
 #define IDS_UPGRADE_OPEN_FILE           136
 #define ID_OPEN_WITH                    137
-#define IDS_STRING137                   137
+#define IDS_REMOTE_SWITCH               137
 #define ID_DUMMY_COMPILE                138
+#define IDS_REMOTE_FIND_IR              138
 #define ID_CLASS_ADD_MEMBER_FUNCTION    139
+#define IDS_REMOTE_FIND_BL              139
 #define ID_CLASS_ADD_MEMBER_VARIABLE    140
 #define ID_CLASS_DEFINITION             141
 #define ID_CLASS_PROPERTIES             142

+ 3 - 1
SATHelper/SATHelper/UpgradeWnd.cpp

@@ -123,6 +123,7 @@ void CUpgradeWnd::AdjustLayout()
 	ScreenToClient(rcCtrl);
 	m_text_notify.SetWindowPos(nullptr, rectClient.left + margin, rectClient.top + nHeight + dr, rectClient.Width() - margin * 2 , m_nCtrlHeight * 2, SWP_NOACTIVATE | SWP_NOZORDER);
 
+	m_text_notify.Invalidate();
 }
 
 int CUpgradeWnd::OnCreate(LPCREATESTRUCT lpCreateStruct)
@@ -166,7 +167,8 @@ int CUpgradeWnd::OnCreate(LPCREATESTRUCT lpCreateStruct)
 		return -1;
 	}
 
-	m_text_notify.Create(GlobalString::g_strUpgradeNotify, SS_LEFT | WS_CHILD | WS_VISIBLE, rectDummy, this, IDC_STATIC);
+	// ES_WANTRETURN;
+	m_text_notify.Create(GlobalString::g_strUpgradeNotify, SS_LEFT | WS_CHILD | WS_VISIBLE , rectDummy, this, IDC_STATIC);
 
 	// 以编辑框高度为所有控件高度标准;
 	CRect rcCtrl;

+ 3 - 1
SATHelper/SATHelper/resource.h

@@ -55,9 +55,11 @@
 #define ID_OPEN                         136
 #define IDS_UPGRADE_OPEN_FILE           136
 #define ID_OPEN_WITH                    137
-#define IDS_STRING137                   137
+#define IDS_REMOTE_SWITCH               137
 #define ID_DUMMY_COMPILE                138
+#define IDS_REMOTE_FIND_IR              138
 #define ID_CLASS_ADD_MEMBER_FUNCTION    139
+#define IDS_REMOTE_FIND_BL              139
 #define ID_CLASS_ADD_MEMBER_VARIABLE    140
 #define ID_CLASS_DEFINITION             141
 #define ID_CLASS_PROPERTIES             142