| | |
| | | ON_WM_SIZE() |
| | | ON_NOTIFY(BYVERTICALLINE_MOVEX, IDC_LINE1, &CPanelMaster::OnVLineMoveX) |
| | | ON_WM_TIMER() |
| | | ON_NOTIFY(TVN_SELCHANGED, IDC_TREE1, &CPanelMaster::OnTvnSelchangedTree1) |
| | | END_MESSAGE_MAP() |
| | | |
| | | |
| | |
| | | return m_nPanelWidth; |
| | | } |
| | | |
| | | void CPanelMaster::setPanelWidth(int width) |
| | | { |
| | | m_nPanelWidth = width; |
| | | } |
| | | |
| | | BOOL CPanelMaster::OnInitDialog() |
| | | { |
| | | CDialogEx::OnInitDialog(); |
| | |
| | | pLine1->SetBkgndColor(RGB(225, 225, 225)); |
| | | pLine1->SetLineColor(RGB(198, 198, 198)); |
| | | pLine1->EnableResize(); |
| | | |
| | | |
| | | // 读取面板宽 |
| | | CString strIniFile; |
| | | strIniFile.Format(_T("%s\\%s.ini"), (LPTSTR)(LPCTSTR)theApp.m_strAppDir, (LPTSTR)(LPCTSTR)theApp.m_strAppFile); |
| | | m_nPanelWidth = GetPrivateProfileInt(_T("App"), _T("MasterPanelWidth"), |
| | | int((double)GetSystemMetrics(SM_CXSCREEN) * 0.25), (LPTSTR)(LPCTSTR)strIniFile); |
| | | |
| | | |
| | | // treectrl |
| | |
| | | if (GetDlgItem(IDC_LINE1) == nullptr) return; |
| | | |
| | | CWnd* pItem; |
| | | CRect rcClient; |
| | | CRect rcClient, rcItem; |
| | | |
| | | GetClientRect(&rcClient); |
| | | pItem = GetDlgItem(IDC_LINE1); |
| | | pItem->MoveWindow(rcClient.right - 3, 0, 3, rcClient.Height()); |
| | | |
| | | m_treeCtrl.MoveWindow(5, 5, rcClient.Width() - 13, rcClient.Height() - 10); |
| | | pItem = GetDlgItem(IDC_LABEL_LOADING); |
| | | pItem->GetWindowRect(&rcItem); |
| | | pItem->MoveWindow(12, (rcClient.Height() - rcItem.Height()) / 2, rcClient.Width() - 24, rcItem.Height()); |
| | | |
| | | m_treeCtrl.MoveWindow(5, 5, rcClient.Width() - 8, rcClient.Height() - 10); |
| | | } |
| | | |
| | | |
| | |
| | | m_nPanelWidth = max(m_nPanelWidth, MASTER_PANEL_MIN_WIDTH); |
| | | m_nPanelWidth = min(m_nPanelWidth, MASTER_PANEL_MAX_WIDTH); |
| | | GetParent()->SendMessage(ID_MSG_PANEL_RESIZE, m_nPanelWidth, 0); |
| | | |
| | | CString strIniFile, strValue; |
| | | strIniFile.Format(_T("%s\\%s.ini"), (LPTSTR)(LPCTSTR)theApp.m_strAppDir, (LPTSTR)(LPCTSTR)theApp.m_strAppFile); |
| | | strValue.Format(_T("%d"), m_nPanelWidth); |
| | | WritePrivateProfileString(_T("App"), _T("MasterPanelWidth"), |
| | | (LPTSTR)(LPCTSTR)strValue, (LPTSTR)(LPCTSTR)strIniFile); |
| | | OnSize(0, 0, 0); |
| | | |
| | | * result = 0; |
| | |
| | | { |
| | | if (1 == nIDEvent) { |
| | | KillTimer(1); |
| | | GetDlgItem(IDC_LABEL_LOADING)->ShowWindow(SW_HIDE); |
| | | m_treeCtrl.ShowWindow(SW_SHOW); |
| | | loadEquipmentList(); |
| | | } |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | void CPanelMaster::OnTvnSelchangedTree1(NMHDR* pNMHDR, LRESULT* pResult) |
| | | { |
| | | LPNMTREEVIEW pNMTreeView = reinterpret_cast<LPNMTREEVIEW>(pNMHDR); |
| | | HTREEITEM hItem = pNMTreeView->itemNew.hItem; |
| | | int nLevel = GetTreeItemLevel(hItem); |
| | | if (nLevel == 2) { |
| | | SERVO::CEquipment* pEquipment = (SERVO::CEquipment*)m_treeCtrl.GetItemData(hItem); |
| | | theApp.m_model.notifyPtr(RX_CODE_SELECT_EQUIPMENT, pEquipment); |
| | | } |
| | | else if (nLevel == 3) { |
| | | SERVO::CStep* pStep = (SERVO::CStep*)m_treeCtrl.GetItemData(hItem); |
| | | theApp.m_model.notifyPtr(RX_CODE_SELECT_STEP, pStep); |
| | | } |
| | | |
| | | |
| | | |
| | | *pResult = 0; |
| | | } |
| | | |
| | | int CPanelMaster::GetTreeItemLevel(HTREEITEM hItem) |
| | | { |
| | | int nLevel = 0; |
| | | HTREEITEM hTemp = hItem; |
| | | while (hTemp != nullptr) { |
| | | hTemp = m_treeCtrl.GetParentItem(hTemp); |
| | | nLevel++; |
| | | } |
| | | |
| | | return nLevel; |
| | | } |
| | | |
| | | SERVO::CEquipment* CPanelMaster::GetActiveEquipment() |
| | | { |
| | | HTREEITEM hItem = m_treeCtrl.GetSelectedItem(); |
| | | if (hItem == nullptr) return nullptr; |
| | | |
| | | int nLevel = GetTreeItemLevel(hItem); |
| | | if (nLevel == 2) { |
| | | return (SERVO::CEquipment*)m_treeCtrl.GetItemData(hItem); |
| | | } |
| | | else if (nLevel == 3) { |
| | | SERVO::CStep* pStep = (SERVO::CStep*)m_treeCtrl.GetItemData(hItem); |
| | | if (pStep != nullptr) { |
| | | return pStep->getEquipment(); |
| | | } |
| | | } |
| | | |
| | | return nullptr; |
| | | } |