From 61b2bfa09588f08accb13e98ee4cd73015cb2352 Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期二, 03 六月 2025 09:06:17 +0800
Subject: [PATCH] 1.增加任务详情弹出对话框,但具体填充数据;
---
SourceCode/Bond/Servo/CRobotTaskDlg.cpp | 124 +++++++++++++++++++++++++++++++++++++++++
1 files changed, 124 insertions(+), 0 deletions(-)
diff --git a/SourceCode/Bond/Servo/CRobotTaskDlg.cpp b/SourceCode/Bond/Servo/CRobotTaskDlg.cpp
new file mode 100644
index 0000000..16fd9da
--- /dev/null
+++ b/SourceCode/Bond/Servo/CRobotTaskDlg.cpp
@@ -0,0 +1,124 @@
+锘�// CRobotTaskDlg.cpp: 瀹炵幇鏂囦欢
+//
+
+#include "stdafx.h"
+#include "Servo.h"
+#include "CRobotTaskDlg.h"
+#include "afxdialogex.h"
+
+
+// CRobotTaskDlg 瀵硅瘽妗�
+
+IMPLEMENT_DYNAMIC(CRobotTaskDlg, CDialogEx)
+
+CRobotTaskDlg::CRobotTaskDlg(CWnd* pParent /*=nullptr*/)
+ : CDialogEx(IDD_DIALOG_ROBOT_TASK, pParent)
+{
+ m_pRobotTask = nullptr;
+}
+
+CRobotTaskDlg::~CRobotTaskDlg()
+{
+}
+
+void CRobotTaskDlg::DoDataExchange(CDataExchange* pDX)
+{
+ CDialogEx::DoDataExchange(pDX);
+}
+
+
+BEGIN_MESSAGE_MAP(CRobotTaskDlg, CDialogEx)
+ ON_WM_CTLCOLOR()
+ ON_WM_DESTROY()
+ ON_WM_SIZE()
+ ON_WM_ACTIVATE()
+END_MESSAGE_MAP()
+
+
+// CRobotTaskDlg 娑堟伅澶勭悊绋嬪簭
+
+
+void CRobotTaskDlg::SetRobotTask(SERVO::CRobotTask* pRobotTask)
+{
+ m_pRobotTask = pRobotTask;
+
+
+ // 鍚勬帶浠舵槸鍚︽樉绀�;
+ GetDlgItem(IDC_LABEL_NO_TASK)->ShowWindow(m_pRobotTask == nullptr ? SW_SHOW : SW_HIDE);
+ GetDlgItem(IDC_LABEL_GET_PUT)->ShowWindow(m_pRobotTask != nullptr ? SW_SHOW : SW_HIDE);
+
+
+ if (m_pRobotTask != nullptr) {
+ SERVO::CEquipment* pEq1, * pEq2;
+ pEq1 = theApp.m_model.getMaster().getEquipment(m_pRobotTask->getSrcPosition());
+ pEq2 = theApp.m_model.getMaster().getEquipment(m_pRobotTask->getTarPosition());
+
+ CString strText;
+ strText.Format(_T("%s --> %s"), pEq1->getName().c_str(), pEq2->getName().c_str());
+ SetDlgItemText(IDC_LABEL_GET_PUT, strText);
+ }
+}
+
+BOOL CRobotTaskDlg::OnInitDialog()
+{
+ CDialogEx::OnInitDialog();
+
+ // TODO: 鍦ㄦ娣诲姞棰濆鐨勫垵濮嬪寲
+
+ return TRUE; // return TRUE unless you set the focus to a control
+ // 寮傚父: OCX 灞炴�ч〉搴旇繑鍥� FALSE
+}
+
+
+HBRUSH CRobotTaskDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
+{
+ HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);
+
+ // TODO: 鍦ㄦ鏇存敼 DC 鐨勪换浣曠壒鎬�
+
+ // TODO: 濡傛灉榛樿鐨勪笉鏄墍闇�鐢荤瑪锛屽垯杩斿洖鍙︿竴涓敾绗�
+ return hbr;
+}
+
+
+void CRobotTaskDlg::OnDestroy()
+{
+ CDialogEx::OnDestroy();
+
+ // TODO: 鍦ㄦ澶勬坊鍔犳秷鎭鐞嗙▼搴忎唬鐮�
+}
+
+void CRobotTaskDlg::OnSize(UINT nType, int cx, int cy)
+{
+ CDialogEx::OnSize(nType, cx, cy);
+ if (GetDlgItem(IDC_LABEL_NO_TASK) == nullptr) return;
+ Resize();
+}
+
+void CRobotTaskDlg::OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized)
+{
+ CWnd::OnActivate(nState, pWndOther, bMinimized);
+
+ if (nState == WA_INACTIVE) {
+ ShowWindow(SW_HIDE);
+ }
+}
+
+void CRobotTaskDlg::Resize()
+{
+ CRect rcClient, rcItem;
+ CWnd* pItem;
+ GetClientRect(&rcClient);
+
+ pItem = GetDlgItem(IDC_LABEL_NO_TASK);
+ pItem->GetClientRect(&rcItem);
+ pItem->MoveWindow((rcClient.Width() - rcItem.Width()) / 2,
+ (rcClient.Height() - rcItem.Height()) / 2, rcItem.Width(), rcItem.Height());
+
+ pItem = GetDlgItem(IDC_LABEL_GET_PUT);
+ pItem->GetClientRect(&rcItem);
+ pItem->MoveWindow(12,
+ 12, rcItem.Width(), rcItem.Height());
+}
+
+
--
Gitblit v1.9.3