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