void CDlgPerformanceTakeoff::OnDelItem() { ASSERT(::IsWindow(m_wndListCtrl.m_hWnd)); POSITION pos = m_wndListCtrl.GetFirstSelectedItemPosition(); if (pos != NULL) { while (pos) { int nItem = m_wndListCtrl.GetNextSelectedItem(pos); std::vector<PerformTakeOff>::iterator iter = m_pCompsiteACTakeoffs->GetTakeoffs().begin()+ nItem; try { m_pCompsiteACTakeoffs->DeletePerformTakeOff(*iter); m_pCompsiteACTakeoffs->GetTakeoffs().erase(iter); m_wndListCtrl.DeleteItemEx(nItem); UpdateToolBarState(); } catch (_com_error& e) { AfxMessageBox((LPCSTR)e.Description()); } } } GetDlgItem(IDC_SAVE)->EnableWindow(TRUE); }
BOOL CDlgWingspanAdjacancyConstraints::OnInitDialog() { CDialog::OnInitDialog(); SetWindowText(_T("Wingspan Adjacency Constraints")); // TODO: Add extra initialization here GetDlgItem(IDC_BUTTON_SAVE)->EnableWindow(FALSE); //list DWORD dwStyle = m_wndListCtrl.GetExtendedStyle(); dwStyle |= LVS_EX_FULLROWSELECT|LVS_EX_HEADERDRAGDROP|LVS_EX_GRIDLINES; m_wndListCtrl.SetExtendedStyle(dwStyle); //load data for taxiway adjacency m_vData.LoadData(m_nProjID); // set the layout of child controls RefreshLayout(); // init the list control InitListControl(); // set the toolbar button state UpdateToolBarState(); GetAllTaxiway(); FillListControl(); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
void CDlgWingspanAdjacancyConstraints::OnLvnItemchangedList(NMHDR *pNMHDR, LRESULT *pResult) { LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR); UpdateToolBarState(); int nSelItem = GetSelectedListItem(); if (nSelItem < 0) return; CWingspanAdjacencyConstraints *pConstraint = (CWingspanAdjacencyConstraints *)m_wndListCtrl.GetItemData(nSelItem); if (pConstraint == NULL) return; { CStringList lstFirstNode; GetNodeListByTaxiway(pConstraint->m_firstaxiway.m_pTaxiway,lstFirstNode); LVCOLDROPLIST* pDroplistFrom = m_wndListCtrl.GetColumnStyle(1); LVCOLDROPLIST* pDroplistTo = m_wndListCtrl.GetColumnStyle(2); if(pDroplistFrom && pDroplistTo) { pDroplistFrom->List.RemoveAll(); pDroplistTo->List.RemoveAll(); POSITION pos; for( pos = lstFirstNode.GetHeadPosition(); pos;) { pDroplistFrom->List.AddTail(lstFirstNode.GetAt(pos)); pDroplistTo->List.AddTail(lstFirstNode.GetAt(pos)); lstFirstNode.GetNext( pos ); } } } { CStringList lstSecondNode; GetNodeListByTaxiway(pConstraint->m_secondTaxiway.m_pTaxiway,lstSecondNode); LVCOLDROPLIST* pDroplistFrom = m_wndListCtrl.GetColumnStyle(7); LVCOLDROPLIST* pDroplistTo = m_wndListCtrl.GetColumnStyle(8); if(pDroplistFrom && pDroplistTo) { pDroplistFrom->List.RemoveAll(); pDroplistTo->List.RemoveAll(); POSITION pos; for( pos = lstSecondNode.GetHeadPosition(); pos;) { pDroplistFrom->List.AddTail(lstSecondNode.GetAt(pos)); pDroplistTo->List.AddTail(lstSecondNode.GetAt(pos)); lstSecondNode.GetNext( pos ); } } } }
void CFeedIcoItemListCtrl::OnLvnItemchanged(NMHDR *pNMHDR, LRESULT *pResult) { LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR); // TODO: 在此添加控件通知处理程序代码 *pResult = 0; // 更新工具条 CDownloadTabWnd & wd = theApp.emuledlg->m_mainTabWnd.m_dlgDownload.m_DownloadTabWnd; UpdateToolBarState(wd.m_Toolbar); }
void CDlgPerformanceTakeoff::OnListItemChanged(int nItem, int nSubItem) { CString strCurVal = m_wndListCtrl.GetItemText(nItem, nSubItem); double dCurVal = atof(strCurVal.GetBuffer(0)); PerformTakeOff &takeOff = m_pCompsiteACTakeoffs->GetTakeoffs().at(nItem); switch(nSubItem) { case 1: takeOff.m_nMinAcceleration = dCurVal; break; case 2: takeOff.m_nMaxAcceleration = dCurVal; break; case 3: takeOff.m_nMinLiftOff = dCurVal; break; case 4: takeOff.m_nMaxLiftOff = dCurVal; break; case 5: takeOff.m_nMinPositionTime = dCurVal; break; case 6: takeOff.m_nMaxPositionTime = dCurVal; break; case 7: takeOff.m_minTakeOffRoll = dCurVal; break; case 8: takeOff.m_maxTakeOffRoll = dCurVal; break; case 9: takeOff.m_fuelBurn = dCurVal; break; case 10: takeOff.m_cost = dCurVal; break; default: break; } try { m_pCompsiteACTakeoffs->UpdatePerformTakeOff(takeOff); GetDlgItem(IDC_SAVE)->EnableWindow(TRUE); } catch (_com_error& e) { AfxMessageBox((LPCSTR)e.Description()); } UpdateToolBarState(); }
void CDlgWingspanAdjacancyConstraints::OnCmdDeleteItem() { int nSelItem = GetSelectedListItem(); if (nSelItem < 0) return; CWingspanAdjacencyConstraints *pConstraint = (CWingspanAdjacencyConstraints *)m_wndListCtrl.GetItemData(nSelItem); if(pConstraint) { m_vData.DelItem(pConstraint); } m_wndListCtrl.DeleteItemEx(nSelItem); UpdateToolBarState(); GetDlgItem(IDC_BUTTON_SAVE)->EnableWindow(); }
void CDlgPerformanceTakeoff::OnNECItemChanged(int nItem, int nNewNECTableID) { //PerformTakeOff& tf = m_pCompsiteACTakeoffs->GetTakeoffs().at(nItem); //tf.m_nNECID = nNewNECTableID; //try //{ // m_pCompsiteACTakeoffs->UpdatePerformTakeOff(tf); // GetDlgItem(IDC_SAVE)->EnableWindow(TRUE); //} //catch (_com_error& e) //{ // AfxMessageBox((LPCSTR)e.Description()); //} UpdateToolBarState(); }
BOOL CFeedIcoItemListCtrl::OnCommand(WPARAM wParam, LPARAM lParam) { // TODO: 在此添加专用代码和/或调用基类 if ( /*LOWORD(wParam) == MP_STOP ||*/LOWORD(wParam) == MP_DOWNLOAD_ALL ||LOWORD(wParam) == MP_OPEN ||LOWORD(wParam) == MP_OPENFOLDER ||LOWORD(wParam) == MP_RESUME ||LOWORD(wParam) == MP_PAUSE ||LOWORD(wParam) == MP_CANCEL ||LOWORD(wParam) == MP_OPTIONS) { POSITION Pos = this->GetFirstSelectedItemPosition(); if (Pos == NULL) { return 0; } int nIndex = this->GetNextSelectedItem(Pos); if( CRssFeed* pFeed = this->GetFeed(nIndex) ) { if ( LOWORD(wParam) == MP_OPENFOLDER) { if( CRssFeed* pFeed = this->GetFeed(nIndex) ) { if(PathFileExists(pFeed->m_strSaveDir)) ShellExecute(NULL, _T("open"), _T("explorer.exe"), pFeed->m_strSaveDir, NULL, SW_SHOW); } } if ( LOWORD(wParam) == MP_DOWNLOAD_ALL ) { ((CRssFeedWnd*)GetParent())->DownloadAllItem(nIndex); } if ( LOWORD(wParam) == MP_RESUME ) { ((CRssFeedWnd*)GetParent())->ResumeAllItem(nIndex); } if ( LOWORD(wParam) == MP_PAUSE) { for ( CRssFeed::ItemIterator it = pFeed->GetItemIterBegin(); it != pFeed->GetItemIterEnd(); ++it ) { CPartFile* pPartFile = it->second.GetPartFile(); if (pPartFile != NULL) { if (pPartFile->CanPauseFile()) pPartFile->PauseFile(); } } } if ( LOWORD(wParam) == MP_CANCEL) { ::SendMessage(CGlobalVariable::s_wndRssCtrl->GetSafeHwnd(), WM_COMMAND, wParam, lParam); } if ( LOWORD(wParam) == MP_OPTIONS) { CDlgFeedConfig dlgFeedConfig(*pFeed); if ( dlgFeedConfig.DoModal() == IDOK ) { // 保存设置 pFeed->SetUpdateInterval(dlgFeedConfig.m_uUpdateInterval); pFeed->SetAutoDownload(dlgFeedConfig.m_uAutoDownload); CGlobalVariable::s_wndRssCtrl->SaveFeed(*pFeed); //RedrawItems(nIndex, nIndex); } } CDownloadTabWnd & wd = theApp.emuledlg->m_mainTabWnd.m_dlgDownload.m_DownloadTabWnd; UpdateToolBarState(wd.m_Toolbar); return 0; } } ::SendMessage(CGlobalVariable::s_wndRssCtrl->GetSafeHwnd(), WM_COMMAND, wParam, lParam); return CListCtrl::OnCommand(wParam, lParam); }