| | |
| | | void CPanelEquipment::DoDataExchange(CDataExchange* pDX) |
| | | { |
| | | CDialogEx::DoDataExchange(pDX); |
| | | DDX_Control(pDX, IDC_MFCPROPERTYGRID1, m_gridCtrl); |
| | | } |
| | | |
| | | |
| | |
| | | |
| | | if (::IsWindow(m_hWnd)) { |
| | | SetDlgItemText(IDC_LABEL_TITLE, m_pEquipment->getName().c_str()); |
| | | } |
| | | } |
| | | |
| | | void CPanelEquipment::loadDataFromEquipment(SERVO::CEquipment* pEquipment) |
| | | { |
| | | m_pEquipment = pEquipment; |
| | | ASSERT(m_pEquipment); |
| | | |
| | | |
| | | // 先清空所有 |
| | | m_gridCtrl.RemoveAll(); |
| | | |
| | | |
| | | // 加载数据 |
| | | SetDlgItemText(IDC_LABEL_TITLE, pEquipment->getName().c_str()); |
| | | SERVO::CAttributeVector attrubutes; |
| | | pEquipment->getAttributeVector(attrubutes); |
| | | unsigned int nSize = attrubutes.size(); |
| | | for (unsigned int i = 0; i < nSize; i++) { |
| | | SERVO::CAttribute* pAttribute = attrubutes.getAttribute(i); |
| | | CMFCPropertyGridProperty* pProperty = new CMFCPropertyGridProperty( |
| | | pAttribute->getName().c_str(), |
| | | pAttribute->getValue().c_str(), |
| | | pAttribute->getDescription().c_str()); |
| | | pProperty->AllowEdit(FALSE); |
| | | m_gridCtrl.AddProperty(pProperty); |
| | | } |
| | | } |
| | | |
| | |
| | | pItem->MoveWindow(5, y, x2 - 5, rcItem.Height()); |
| | | y += rcItem.Height(); |
| | | y += 8; |
| | | |
| | | GetDlgItem(IDC_MFCPROPERTYGRID1)->MoveWindow(5, y, rcClient.Width() - 8, rcClient.Height() - 3 - y); |
| | | } |
| | | |
| | | #define EQUIPMENT_PANEL_MIN_WIDTH 88 |