Jelajahi Sumber

执行器面板自适应宽度;

scbc.sat2 5 tahun lalu
induk
melakukan
ee3a028fbc

+ 1 - 1
SATHelper/SATHelper/DevicesWnd.cpp

@@ -76,7 +76,7 @@ void CDevicesWnd::AdjustLayout()
 
 	CRect rectClient;
 	GetClientRect(rectClient);
-	m_dlgService.SetWindowPos(nullptr, rectClient.left, rectClient.top, rectClient.Width(), rectClient.Height(), SWP_NOACTIVATE);
+	m_dlgService.SetWindowPos(nullptr, rectClient.left, rectClient.top, rectClient.Width() - 5, rectClient.Height(), SWP_NOACTIVATE);
 
 }
 

+ 81 - 1
SATHelper/SATHelper/DlgService.cpp

@@ -44,6 +44,7 @@ BEGIN_MESSAGE_MAP(CDlgService, CDialogEx)
 	ON_COMMAND(ID_DEVICES_DEL, &CDlgService::OnDevicesDel)
 	ON_BN_CLICKED(BTN_MI_INIT, &CDlgService::OnBnClickedMiInit)
 	ON_BN_CLICKED(BTN_SCBC_INIT, &CDlgService::OnBnClickedScbcInit)
+	ON_WM_SIZE()
 END_MESSAGE_MAP()
 
 
@@ -238,6 +239,78 @@ void CDlgService::FillData2Ctrl()
 	SetDlgItemText(IDC_EDIT_RUNNER_NAME, Global::g_Config.strActuator.c_str());
 }
 
+void CDlgService::AdjustLayout()
+{
+	// 窗口;
+	CRect rcWnd;
+	// 控件;
+	CRect rcCtrl;
+	// 获取窗口大小;
+	GetClientRect(&rcWnd);
+
+	CWnd* pLableIP = GetDlgItem(LABLE_IP);
+	CWnd* pLableName = GetDlgItem(LABLE_NAME);
+	CWnd* pCtrlName = GetDlgItem(IDC_EDIT_RUNNER_NAME);
+	CWnd* pCtrlIP = GetDlgItem(IDC_IP_ANDROID);
+
+	if (pLableIP == NULL)
+		return;
+
+	// 第一行;
+	pLableName->GetWindowRect(rcCtrl);
+	ScreenToClient(&rcCtrl);
+	int nWidth = rcCtrl.Width();
+	pCtrlName->SetWindowPos(nullptr, rcCtrl.right, rcCtrl.top, (rcWnd.Width() - nWidth - 15 ) * 5 / 7, 23, SWP_NOACTIVATE | SWP_NOZORDER);
+
+	pCtrlName->GetWindowRect(rcCtrl);
+	ScreenToClient(&rcCtrl);
+	m_btnModify.SetWindowPos(nullptr, rcCtrl.right + 5, rcCtrl.top, (rcWnd.Width() - nWidth - 10) * 2 / 7, 23, SWP_NOACTIVATE | SWP_NOZORDER);
+
+	// 第二行;
+	pLableIP->GetWindowRect(rcCtrl);
+	ScreenToClient(&rcCtrl);
+	pCtrlIP->SetWindowPos(nullptr, rcCtrl.right, rcCtrl.top, (rcWnd.Width() - nWidth - 15) * 5 / 7, 23, SWP_NOACTIVATE | SWP_NOZORDER);
+
+	pCtrlIP->GetWindowRect(rcCtrl);
+	ScreenToClient(&rcCtrl);
+	m_btnAddAndroid.SetWindowPos(nullptr, rcCtrl.right + 5, rcCtrl.top, (rcWnd.Width() - nWidth - 10) * 2 / 7, 23, SWP_NOACTIVATE | SWP_NOZORDER);
+	//::MoveWindow(m_btnAddAndroid.m_hWnd, rcCtrl.right + 5, rcCtrl.top, (rcWnd.Width() - nWidth - 10) * 2 / 7, 23, TRUE);
+
+	// 第三行;
+	m_listDevices.GetWindowRect(rcCtrl);
+	ScreenToClient(&rcCtrl);
+	m_listDevices.SetWindowPos(nullptr, rcCtrl.left, rcCtrl.top, rcWnd.Width() - 10, rcCtrl.Height(), SWP_NOACTIVATE | SWP_NOZORDER);
+
+	// 第四行;
+	nWidth = (rcWnd.Width() - 20) / 2;
+	m_btnMIInit.GetWindowRect(rcCtrl);
+	ScreenToClient(&rcCtrl);
+	m_btnMIInit.SetWindowPos(nullptr, rcCtrl.left, rcCtrl.top, nWidth, rcCtrl.Height(), SWP_NOACTIVATE | SWP_NOZORDER);
+
+	m_btnMIInit.GetWindowRect(rcCtrl);
+	ScreenToClient(&rcCtrl);
+	m_btnSCBCInit.SetWindowPos(nullptr, rcCtrl.right + 10, rcCtrl.top, nWidth, rcCtrl.Height(), SWP_NOACTIVATE | SWP_NOZORDER);
+
+	// 第五行;
+	CWnd* pLableTask = GetDlgItem(LABLE_TASK);
+	CWnd* pLableTaskStatus = GetDlgItem(LABLE_TASK_STATUS);
+	CWnd* pCtrlTaskID = GetDlgItem(TX_TASKID);
+
+	pLableTask->GetWindowRect(rcCtrl);
+	ScreenToClient(&rcCtrl);
+	nWidth = rcCtrl.Width();
+	pCtrlTaskID->SetWindowPos(nullptr, rcCtrl.right, rcCtrl.top - 3, rcWnd.Width() - nWidth * 2 - 15, 23, SWP_NOACTIVATE | SWP_NOZORDER);
+
+	pCtrlTaskID->GetWindowRect(rcCtrl);
+	ScreenToClient(&rcCtrl);
+	pLableTaskStatus->SetWindowPos(nullptr, rcCtrl.right + 5, rcCtrl.top, nWidth, 23, SWP_NOACTIVATE | SWP_NOZORDER);
+
+	// 第六行;
+	m_listTask.GetWindowRect(rcCtrl);
+	ScreenToClient(&rcCtrl);
+	m_listTask.SetWindowPos(nullptr, rcCtrl.left, rcCtrl.top, rcWnd.Width() - 10, rcWnd.Height() - rcCtrl.top - 10, SWP_NOACTIVATE | SWP_NOZORDER);
+}
+
 
 void CDlgService::OnBnClickedModifyRunnerName()
 {
@@ -361,4 +434,11 @@ void CDlgService::OnBnClickedScbcInit()
 		//WinExec(Global::g_Config.strMIInitBat.c_str(), SW_HIDE);
 		ShellExecute(NULL, _T("open"), Global::g_Config.strSCBCInitBat.c_str(), NULL, NULL, SW_SHOW);
 	}
-}
+}
+
+void CDlgService::OnSize(UINT nType, int cx, int cy)
+{
+	CDialogEx::OnSize(nType, cx, cy);
+	AdjustLayout();
+	// TODO: 在此处添加消息处理程序代码
+}

+ 2 - 0
SATHelper/SATHelper/DlgService.h

@@ -31,6 +31,7 @@ public:
 	void InitCtrl();
 	// 为控件填数据;
 	void FillData2Ctrl();
+	void AdjustLayout();
 	CMFCButton m_btnModify;
 	CMFCButton m_btnAddAndroid;
 	afx_msg void OnBnClickedModifyRunnerName();
@@ -44,4 +45,5 @@ public:
 	CMFCButton m_btnSCBCInit;
 	afx_msg void OnBnClickedMiInit();
 	afx_msg void OnBnClickedScbcInit();
+	afx_msg void OnSize(UINT nType, int cx, int cy);
 };

+ 6 - 1
SATHelper/SATHelper/Resource.h

@@ -137,6 +137,11 @@
 #define IDC_EDIT_RUNNER_NAME            1014
 #define BTN_MI_INIT                     1015
 #define BTN_SCBC_INIT                   1016
+#define LABLE_NAME                      1017
+#define LABLE_IP                        1018
+#define LABLE_TASK                      1019
+#define LABLE_TASK_STATUS               1020
+#define TX_TASKID                       1021
 #define ID_WRITE_PASTEASHYPERLINK       32770
 #define ID_TRAYMENU_RECONNECT           32771
 #define ID_TRAYMENU_EXIT                32772
@@ -194,7 +199,7 @@
 #ifndef APSTUDIO_READONLY_SYMBOLS
 #define _APS_NEXT_RESOURCE_VALUE        327
 #define _APS_NEXT_COMMAND_VALUE         32830
-#define _APS_NEXT_CONTROL_VALUE         1017
+#define _APS_NEXT_CONTROL_VALUE         1022
 #define _APS_NEXT_SYMED_VALUE           310
 #endif
 #endif

+ 9 - 9
SATHelper/SATHelper/SATHelper.rc

@@ -497,17 +497,17 @@ STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD
 EXSTYLE WS_EX_TRANSPARENT
 FONT 8, "MS Shell Dlg", 400, 0, 0x1
 BEGIN
-    LTEXT           "名称:",IDC_STATIC,2,3,24,8
-    EDITTEXT        IDC_EDIT_RUNNER_NAME,27,1,93,14,ES_AUTOHSCROLL
+    LTEXT           "名称:",LABLE_NAME,2,3,25,8
+    EDITTEXT        IDC_EDIT_RUNNER_NAME,28,1,93,14,ES_AUTOHSCROLL
     CONTROL         "修改",BTN_MODIFY_RUNNER_NAME,"MfcButton",WS_TABSTOP,125,2,44,14
-    CONTROL         "",IDC_IP_ANDROID,"SysIPAddress32",WS_TABSTOP,27,19,93,15
+    CONTROL         "",IDC_IP_ANDROID,"SysIPAddress32",WS_TABSTOP,28,19,93,15
     CONTROL         "添加",BTN_ADD_ANDROID,"MfcButton",WS_TABSTOP,125,20,44,14
-    LTEXT           "TV IP:",IDC_STATIC,2,21,25,8
-    CONTROL         "",IDC_LIST_DEVICES,"SysListView32",LVS_REPORT | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,3,37,165,56
-    CONTROL         "",IDC_LIST_TASK,"SysListView32",LVS_REPORT | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,5,140,162,158
-    LTEXT           "任务:",IDC_STATIC,2,123,25,8
-    EDITTEXT        IDC_EDIT1,27,120,88,14,ES_AUTOHSCROLL | ES_READONLY
-    LTEXT           "执行中",IDC_STATIC,121,123,25,8
+    LTEXT           "TV IP:",LABLE_IP,2,21,25,8
+    CONTROL         "",IDC_LIST_DEVICES,"SysListView32",LVS_REPORT | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,3,37,163,56
+    CONTROL         "",IDC_LIST_TASK,"SysListView32",LVS_REPORT | LVS_ALIGNLEFT | WS_BORDER | WS_TABSTOP,5,140,159,158
+    LTEXT           "任务ID:",LABLE_TASK,2,123,32,8
+    EDITTEXT        TX_TASKID,34,120,99,14,ES_AUTOHSCROLL | ES_READONLY
+    LTEXT           "执行中",LABLE_TASK_STATUS,138,123,25,8
     PUSHBUTTON      "mi Init",BTN_MI_INIT,3,95,79,14
     PUSHBUTTON      "scbc Init",BTN_SCBC_INIT,87,95,79,14
 END

+ 6 - 1
SATHelper/SATHelper/resource.h

@@ -137,6 +137,11 @@
 #define IDC_EDIT_RUNNER_NAME            1014
 #define BTN_MI_INIT                     1015
 #define BTN_SCBC_INIT                   1016
+#define LABLE_NAME                      1017
+#define LABLE_IP                        1018
+#define LABLE_TASK                      1019
+#define LABLE_TASK_STATUS               1020
+#define TX_TASKID                       1021
 #define ID_WRITE_PASTEASHYPERLINK       32770
 #define ID_TRAYMENU_RECONNECT           32771
 #define ID_TRAYMENU_EXIT                32772
@@ -194,7 +199,7 @@
 #ifndef APSTUDIO_READONLY_SYMBOLS
 #define _APS_NEXT_RESOURCE_VALUE        327
 #define _APS_NEXT_COMMAND_VALUE         32830
-#define _APS_NEXT_CONTROL_VALUE         1017
+#define _APS_NEXT_CONTROL_VALUE         1022
 #define _APS_NEXT_SYMED_VALUE           310
 #endif
 #endif