// 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());
|
}
|