void CMailView::UpdateCaptionText () { CBCGPOrganizerDoc* pDoc = GetDocument (); if (pDoc == NULL || pDoc->GetMode () != CBCGPOrganizerDoc::e_ModeMail) { return; } CMainFrame* pFrame = DYNAMIC_DOWNCAST(CMainFrame, AfxGetMainWnd ()); if (pFrame != NULL) { CString str; CBCGPGridCtrl* pGridCtrl = GetGridCtrl (); if (pGridCtrl != NULL) { CBCGPGridRow* pRow = pGridCtrl->GetCurSel (); if (pRow != NULL && !pRow->IsGroup ()) { str = _T("From: ") + pRow->GetItem (3)->FormatItem (); str += _T("; Subject: ") + pRow->GetItem (4)->FormatItem (); } } if (str.IsEmpty ()) { str = _T(" "); } pFrame->SetCaptionText (str); } }
//********************************************************************** void CBCGPRibbonCustomizeRibbonPage::RebuildDestTree(DWORD_PTR dwNewSel, BOOL bExpandSel) { #ifndef BCGP_EXCLUDE_GRID_CTRL if (dwNewSel == 0) { CBCGPGridRow* pRow = m_wndRibbonTreeDest.GetCurSel(); if (pRow != NULL) { dwNewSel = pRow->GetData(); } } m_wndRibbonTreeDest.SetRedraw(FALSE); m_wndRibbonTreeDest.RebuildItems(m_bNoContextCategories ? 1 : m_nRibbonTabsDest, m_strMainTabs); if (dwNewSel != 0) { CBCGPGridRow* pRow = m_wndRibbonTreeDest.FindRowByData(dwNewSel); if (pRow != NULL) { if (bExpandSel && pRow->IsGroup()) { pRow->Expand(); } m_wndRibbonTreeDest.SetCurSel(pRow, FALSE); m_wndRibbonTreeDest.EnsureVisible(pRow, TRUE); } } m_wndRibbonTreeDest.SetRedraw(); m_wndRibbonTreeDest.RedrawWindow(); #endif }
void CComputerGrid::UpdateComputerInfoToRow(DWORD_PTR dwData, CComputerInfo& computer) { computer.SetUpdateState(CComputerInfo::EUS_NORMAL); CBCGPGridRow* pRow = FindRowByData(dwData); if (pRow != NULL) //已经存在的行 { if (CheckShowCondition(computer)) { UpdateRowData(pRow, computer); } else { RemoveRow(pRow->GetRowId()); //移除该行 } } else //添加新行 { if (CheckShowCondition(computer)) { pRow = CreateRow(GetColumnCount()); pRow->SetData(dwData); UpdateRowData(pRow, computer); AddRow(pRow, FALSE); } } }
/************************************************************************************ 函 数: 输 入: 输 出: 返 回 值: 功 能: 用户按下“GO”按钮,开始放炮。 服务器响应“GO按钮”,执行三个动作: 1、服务器程序通知服务器采集线程开始接收数据采集; 2、通知测网开始数据采集; 3、发送命令通知爆炸机点火。 修改历史: *************************************************************************************/ void CActiveSourceView::OnBnClickedButtongo() { CMainFrame* pFrm = (CMainFrame*)AfxGetMainWnd(); CBCGPGridRow* pRow = m_wndGrid.GetCurSel(); if(!pRow) { // pFrm->MessageBox(_T("Select shot source!"),_T("Alarm"),MB_OK); // cxm 2012.3.7 // theApp.WriteLog(_T("CActiveSourceView::OnBnClickedButtongo"),_T("Please first select shot source !"),LOGTYPE_WARNING,TRUE); return; } // 得到网格当前选择的行号 int nRow=pRow->GetRowId(); if(nRow>=pFrm->m_AllShotSources.GetCount()) { return; } // 找到震源 CShotSource* pSource = pFrm->m_AllShotSources.GetShotSource(nRow); // 查找激活的炮点和震源对象CActiveShot,调用放炮函数 nRow = pFrm->m_AllActiveShots.FindFirstActiveShotBySource(pSource); CActiveShot* pActiveShot = pFrm->m_AllActiveShots.GetActiveShot(nRow); if(pActiveShot!=NULL) { m_btnGo.EnableWindow(FALSE); pActiveShot->SendGeneralCMD(OPERATION_CMD_SHOTGO); } }
//****************************************************************************************** void CArrayGrid::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags) { CWnd::OnChar(nChar, nRepCnt, nFlags); if (m_nDraggedColumn >= 0 || m_bTracking || m_bSelecting || nChar == 3) { return; } if (!CanBeginInplaceEditOnChar (nChar, nRepCnt, nFlags)) { return; } CBCGPGridRow* pSel = GetCurSel (); if (pSel == NULL || !pSel->IsEnabled()) { return; } ASSERT_VALID (pSel); EnsureVisible (pSel, TRUE); SetBeginEditReason (BeginEdit_Char); if (!EditItem (pSel)) { return; } DoInplaceEditSetSel (OnInplaceEditSetSel (GetCurSelItem (pSel), BeginEdit_Char)); pSel->PushChar (nChar); }
/** * 响应鼠标单击按钮;Add * @param CBCGPGridCtrl* pGridCtrlEdit 输入行 * @param CBCGPGridCtrl* pGridCtrlList 列表 * @return void */ void CTabPage::OnBnClickedButtonAddB(CBCGPGridCtrl* pGridCtrlEdit, CBCGPGridCtrl* pGridCtrlList) { CBCGPGridRow* pRowEdit = NULL; // 输入行 CBCGPGridRow* pRowNew = NULL; // 新行 int iRowID = 0; // 得到列表当前选中行索引 int iSelectRowIndex = GetGridListSelectRowID(pGridCtrlList); // 得到输入行 pRowEdit = pGridCtrlEdit->GetRow(0); pRowNew = pGridCtrlList->CreateRow(pGridCtrlList->GetColumnCount()); for(int i = 0; i < pGridCtrlList->GetColumnCount(); i++) { COleVariant oVariant = pRowEdit->GetItem(i)->GetValue(); pRowNew->GetItem(i)->SetValue(oVariant); } if(iSelectRowIndex == -1) // 无选中行 { pGridCtrlList->AddRow(pRowNew, FALSE); } else { pGridCtrlList->InsertRowAfter(iSelectRowIndex + iRowID, pRowNew, FALSE); } pGridCtrlList->AdjustLayout(); }
/** * 响应鼠标单击按钮;Apply * @param void * @return void */ void CTabTestLimit::OnBnClickedButtonApply() { CBCGPGridRow* pRow = NULL; CTestLimitList* pTestLimitList = NULL; CString strData; COleVariant oVariant; POSITION pos = NULL; if(1 == m_uiAim) // 测试对象 1-仪器;2-检波器 { pTestLimitList = &m_pSiteData->m_oTestLimitListInstrument; } else if(2 == m_uiAim) // 测试对象 1-仪器;2-检波器 { pTestLimitList = &m_pSiteData->m_oTestLimitListSensor; } for(int i = 0; i < m_oGridCtrlList.GetRowCount(); i++) { pRow = m_oGridCtrlList.GetRow(i); pos = pTestLimitList->m_olsTestLimit.FindIndex(i); CTestLimitData& oTestLimitData = pTestLimitList->m_olsTestLimit.GetAt(pos); strData = pRow->GetItem(4)->GetValue(); oTestLimitData.m_fLimit = CXMLDOMTool::ConvertStringToFloat(strData); } }
// 重新加载现场测道数据 void CSensorListCtrl::OnReloadSiteDataCMD() { // 现场数据对象初始化 OnSiteDataInit(); matrix_data::data_base_helper::device_info_map& map = data_base_helper_->get_devices_info(); matrix_data::data_base_helper::device_info_map::const_iterator itr; matrix_data::data_base_helper::device_info di; CBCGPGridRow* pRow = NULL; data_base_helper_->devices_info_lock(); for(itr = map.begin(); itr != map.end(); ++itr) { pRow = FindRowByData(itr->second.ip_, FALSE); // 填充本次数据 if(pRow != NULL) { SetRowData(pRow, itr->second); // 设置一行的数据 } else { pRow = CreateRow(GetColumnCount()); SetRowData(pRow, itr->second); AddRow(pRow, FALSE); } } // 删除没有用到的行 for(int i = (GetRowCount() - 1); i >= 0; i--) { pRow = GetRow(i); if(pRow != NULL) { // 找到行 di.ip_ = pRow->GetData(); if(data_base_helper_->find_device(di.ip_, di)) RemoveRow(i, FALSE); } } data_base_helper_->devices_info_unlock(); AdjustLayout (); }
void CComputerListView::OnUnlockScreen() { CUnlockScreenDlg dlg; if (dlg.DoModal() != IDOK) { return; } for (INT i = 0; i < GetGridCtrl()->GetRowCount(); i++) { if (!GetGridCtrl()->IsRowSelected(i)) { continue; } CBCGPGridRow* pRow = GetGridCtrl()->GetRow(i); if (!CLocalServer::GetInstance()->ComputerList.IsInvaildIndex(pRow->GetData())) { CComputerInfo& ComputerInfo = CLocalServer::GetInstance()->ComputerList.GetComputer(pRow->GetData()); if (ComputerInfo.GetComputerStatus() == CComputerInfo::ECS_LOCKED) { CLocalServer::GetInstance()->LocalUnlockScreen(pRow->GetData(), dlg.GetPwd()); } } } }
void CActiveMemberView::OnModifyRemark() { CBCGPGridRow* pRow = GetGridCtrl()->GetCurSel(); if (!pRow) { return; } UINT nMemberID = pRow->GetData(); CActiveMember ActiveMember; if (!CLocalServer::GetInstance()->ActiveMemberList.GetActiveMember(nMemberID, ActiveMember)) { return; } CDlgInputParam dlgInput(this); dlgInput.InitParam(LOAD_STRING(IDS_MODIFY_REMARK),LOAD_STRING(IDS_REMARK),ActiveMember.GetRemark()); if (dlgInput.DoModal() == IDOK) { ActiveMember.SetRemark( dlgInput.m_strParam ); CLocalServer::GetInstance()->ActiveMemberList.UpdateActiveMember(ActiveMember,TRUE); pRow->GetItem(14)->SetValue(ActiveMember.GetRemark().GetString(), TRUE); } }
/** * 响应鼠标单击按钮;Reset * @param void * @return void */ void CTabMute::OnBnClickedButtonReset() { CBCGPGridRow* pRow = NULL; POSITION pos= NULL; CMuteData oMuteData; COleVariant oVariant; pRow = m_oGridCtrlEdit.GetRow(0); pRow->GetItem(0)->SetValue(""); pRow->GetItem(1)->SetValue(""); m_oGridCtrlList.RemoveAll(); // 列表 int iCount = m_pSiteData->m_oMuteList.m_olsMute.GetCount(); for(int i = 0; i < iCount; i++) { pos = m_pSiteData->m_oMuteList.m_olsMute.FindIndex(i); oMuteData = m_pSiteData->m_oMuteList.m_olsMute.GetAt(pos); pRow = m_oGridCtrlList.CreateRow(m_oGridCtrlList.GetColumnCount()); oVariant = (long)oMuteData.m_uiLineName; oVariant.ChangeType(VT_BSTR); pRow->GetItem(0)->SetValue(oVariant); oVariant = (long)oMuteData.m_uiPointNb; oVariant.ChangeType(VT_BSTR); pRow->GetItem(1)->SetValue(oVariant); m_oGridCtrlList.AddRow(pRow, FALSE); } m_oGridCtrlEdit.AdjustLayout(); m_oGridCtrlList.AdjustLayout(); }
BOOL CDlgStudentsSetting::OnInitDialog(void) { CBCGPDialog::OnInitDialog(); // TODO: 在此添加额外的初始化 CRect rectGrid; m_ctrlGridLocation.GetWindowRect (&rectGrid); ScreenToClient (&rectGrid); m_wndListGrid.CreateGrid(rectGrid,this); m_wndListGrid.InsertColumn (0, _T(" 姓名 "), 100); //此处的nWidth为比例,并不是真实尺寸,会随着控件宽度的变化而变化 m_wndListGrid.InsertColumn (1, _T(" 年龄 "), 100); //设定的列表宽度为控件宽度width*(100/(100+100+100+150+100+150+100)) m_wndListGrid.InsertColumn (2, _T(" 籍贯 "), 100); m_wndListGrid.InsertColumn (3, _T(" 出生地 "), 150); m_wndListGrid.InsertColumn (4, _T(" 政治面貌 "), 100); m_wndListGrid.InsertColumn (5, _T(" 婚姻状况 "), 150); m_wndListGrid.InsertColumn (6, _T(" 联系电话 "), 100); m_ctrlEditGridLocation.GetWindowRect (&rectGrid); ScreenToClient (&rectGrid); m_wndEditGrid.CreateGrid(rectGrid,this); m_wndEditGrid.InsertColumn (0, _T(" 姓名 "), 100); m_wndEditGrid.InsertColumn (1, _T(" 年龄 "), 100); m_wndEditGrid.InsertColumn (2, _T(" 籍贯 "), 100); m_wndEditGrid.InsertColumn (3, _T(" 出生地 "), 150); m_wndEditGrid.InsertColumn (4, _T(" 政治面貌 "), 100); m_wndEditGrid.InsertColumn (4, _T(" 婚姻状况 "), 150); m_wndEditGrid.InsertColumn (4, _T(" 联系电话 "), 100); CBCGPGridRow* pRow = m_wndEditGrid.CreateRow (m_wndEditGrid.GetColumnCount ()); CBCGPGridItem* pItem = new CBCGPGridItem (_T("中共党员")); pItem->AddOption (_T("中共党员"), TRUE); pItem->AddOption (_T("群众"), TRUE); // pItem->AllowEdit(FALSE); CImageList Cil1,Cil2; //定义大小图标像列表 Cil1.Create(32, 32, ILC_COLOR4, 0, 4); //建立32位图像控制 Cil1.Add(AfxGetApp()->LoadIcon(IDI_ICON1));//增加选中状态图像 // Cil2.Create(16,16,TRUE,0,0); //建立16位图像控制 // Cil2.Add(AfxGetApp()->LoadIcon(IDI_ICON1));//增加选中状态图像 m_wndListGrid.SetImageList(&Cil1); pRow->GetItem(0)->SetImage(0); pRow->ReplaceItem (4, pItem); pRow->ReplaceItem (5, new CBCGPGridCheckItem (FALSE)); m_wndEditGrid.AddRow(pRow); m_wndEditGrid.AdjustLayout(); Load(members); return TRUE; }
/** * 响应鼠标单击按钮;GO * @param void * @return bool true:成功;false:失败 */ bool CTabFormLine::OnBnClickedButtonGO() { CBCGPGridRow* pRow = m_oGridCtrlEdit.GetRow(0); CString strData; strData = pRow->GetItem(2)->GetValue(); m_oFormLineData.m_uiSN = CXMLDOMTool::ConvertStringToUnsignedInt(strData); return true; }
/** * 响应鼠标单击列表 * @param CBCGPGridCtrl* pGridCtrlEdit 输入行 * @param CBCGPGridCtrl* pGridCtrlList 列表 * @return void */ void CTabPage::OnGridCtrlListLButtonDownA(CBCGPGridCtrl* pGridCtrlEdit, CBCGPGridCtrl* pGridCtrlList) { CBCGPGridRow* pRow = pGridCtrlList->GetCurSel(); if(NULL != pRow) { COleVariant oVariant = pRow->GetItem(0)->GetValue(); oVariant.ChangeType(VT_BSTR); pGridCtrlEdit->GetRow(0)->GetItem(0)->SetValue(oVariant); } }
//拷屏 void CComputerListView::OnSnapScreen() { if (CNetBarConfig::GetInstance()->GetForbidCaptureScreen()) { CDlgBossPwd dlg; if (dlg.DoModal() != IDOK) return; } CBCGPGridRow* pRow = GetGridCtrl()->GetCurSel(); if (pRow != NULL) CLocalServer::GetInstance()->LocalCaptureScreen(pRow->GetData()); }
CBCGPGridRow* CDlgAllCheckOut::CreateNewRow() { CBCGPGridRow* pRow = m_GridCtrl.CreateRow(m_GridCtrl.GetColumnCount()); for (int i = 0; i < m_GridCtrl.GetColumnCount();i++) { pRow->GetItem(i)->AllowEdit(FALSE); } return pRow; }
/** * 响应鼠标单击按钮;Reset * @param void * @return void */ void CTabTestSensor::OnBnClickedButtonReset() { CBCGPGridRow* pRow = NULL; POSITION pos = NULL; CTestProject* pTestProject = NULL; CTestRequest oTestRequest; COleVariant oVariantBool; COleVariant oVariantString; pRow = m_oGridCtrlEdit.GetRow(0); pRow->GetItem(0)->SetValue(""); pRow->GetItem(1)->SetValue(""); oVariantBool = "FALSE"; oVariantBool.ChangeType(VT_BOOL); pRow->GetItem(2)->SetValue(oVariantBool); pRow->GetItem(3)->SetValue(""); GetDlgItem(IDC_EDIT_ABSOLUTESPREAD)->SetWindowText(""); m_oGridCtrlList.RemoveAll(); // 列表 int iCount = m_pSiteData->m_oTestProjectListSensor.m_olsTestProject.GetCount(); for(int i = 0; i < iCount; i++) { pos = m_pSiteData->m_oTestProjectListSensor.m_olsTestProject.FindIndex(i); pTestProject = m_pSiteData->m_oTestProjectListSensor.m_olsTestProject.GetAt(pos); pos = pTestProject->m_olsTestRequest.FindIndex(0); oTestRequest = pTestProject->m_olsTestRequest.GetAt(pos); pRow = m_oGridCtrlList.CreateRow(m_oGridCtrlList.GetColumnCount()); pRow->SetData(pTestProject->m_uiTestNb); oVariantString = (long)pTestProject->m_uiTestNb; oVariantString.ChangeType(VT_BSTR); pRow->GetItem(0)->SetValue(oVariantString); oVariantString = m_pSiteData->GetTestTypeStringByID(oTestRequest.m_uiType); oVariantString.ChangeType(VT_BSTR); pRow->GetItem(1)->SetValue(oVariantString); if(0 == pTestProject->m_uiRecordResult) { oVariantBool = "FALSE"; } if(1 == pTestProject->m_uiRecordResult) { oVariantBool = "TRUE"; } oVariantBool.ChangeType(VT_BOOL); pRow->GetItem(2)->SetValue(oVariantBool); oVariantString = pTestProject->m_strAbsoluteSpread; pRow->GetItem(3)->SetValue(oVariantString); m_oGridCtrlList.AddRow(pRow, FALSE); } m_oGridCtrlEdit.AdjustLayout(); m_oGridCtrlList.AdjustLayout(); }
CBCGPGridRow* CStatisGridCtrl::CreateNewRow () { CBCGPGridRow* pRow = CreateRow (GetColumnCount()); for (int i = 0; i < GetColumnCount ();i++) { pRow->GetItem (i)->AllowEdit (FALSE); } return pRow; }
/** * @brief 按下爆炸机窗口的Stop按钮 * @note 按下“Stop”按钮,在该爆炸机关联的炮点完成采集后,在 Impulsive 模式中, 您可将数据转储到记录过程。在其它模式中,您可使用所提示的三个下压按钮(Go、 Cancel、End) 来选择是继续该顺序,还是再进行一次采集,还是停止该顺序。 详细说明: (一)按下Stop按钮 按下Stop按钮后,继续完成当前放炮采集,如果是 Impulsive 模式,则保存采集数据。 在其他模式下,弹出三个下压按钮(Go、 Cancel、End) 来选择。 (1)Go按钮:继续该采样顺序,开始后续采集,后续采集可能是继续本次采集, 也可能是下一次采集(根据本次采样的状态来决定,如果本次采样结束,则根据震源步进属性计算的下一次炮点编号); (2)Cancel按钮:终止本次采集,丢掉后续未采集的数据。但本次采集仍然保存选中。用户按下“Go”按钮,可以重新开始本次采集; (3)End按钮:将记录无保持采集的未完成震源点。然后点击 Go 将开始下一个震源点。 * @param void * @return void */ void CActiveSourceView::OnBnClickedButtonstop() { CMainFrame* pFrm = (CMainFrame*)AfxGetMainWnd(); // 得到当前选择网格行 CBCGPGridRow* pRow = m_wndGrid.GetCurSel(); if(!pRow) { // pFrm->MessageBox(_T("Select shot source!"),_T("Alarm"),MB_OK); // cxm 2012.3.7 // theApp.WriteLog(_T("CActiveSourceView::OnBnClickedButtonstop"),_T("Please first select shot source !"),LOGTYPE_WARNING,TRUE); return; } // 得到网格当前选择的行号 int nRow=pRow->GetRowId(); if(nRow>=pFrm->m_AllShotSources.GetCount()) { return; } // 找到震源 CShotSource* pSource = pFrm->m_AllShotSources.GetShotSource(nRow); // 查找激活的炮点和震源对象CActiveShot,调用放炮函数 nRow = pFrm->m_AllActiveShots.FindFirstActiveShotBySource(pSource); CActiveShot* pActiveShot = pFrm->m_AllActiveShots.GetActiveShot(nRow); if(pActiveShot==NULL) { // pActiveShot->SendGeneralCMD(OPERATION_CMD_SHOTGO); // cxm 2012.3.7 // theApp.WriteLog(_T("CActiveSourceView::OnBnClickedButtonstop"),_T("The Shot Source is not activated!"),LOGTYPE_WARNING,TRUE); return; } CDlgAcquisitionControl DlgCtrl; DlgCtrl.DoModal(); switch(DlgCtrl.m_nSelectedButton) { case 1: // 按下Go m_btnGo.EnableWindow(FALSE); break; case 2: // Cancel m_btnGo.EnableWindow(TRUE); pActiveShot->SendGeneralCMD(OPERATION_CMD_AGAIN); break; case 3: // End { // 调用主框架处理函数,通知服务器停止放炮,删除放炮管理对象 m_btnGo.EnableWindow(TRUE); pFrm->OnDisassociatevp(pSource->m_dwSourceNb); } break; default: break; } }
/** * 响应鼠标单击按钮;GO * @param void * @return bool true:成功;false:失败 */ bool CTabTestSensor::OnBnClickedButtonGO() { CBCGPGridRow* pRow = m_oGridCtrlList.GetCurSel(); if(NULL != pRow) { CString strData; m_uiTestNb = pRow->GetData(); return true; } AfxMessageBox("Please Select A Record.", MB_OK | MB_ICONSTOP); return false; }
/** * @brief 刷新界面上爆炸机状态显示 * @note 将确认TB、井口时间、爆炸机状态显示在对应的控件中。 * @param CActiveShot* pActiveShot,震源对象指针 * @return void */ void CActiveSourceView::RefreshBlasterState() { CMainFrame* pFrm = (CMainFrame*)AfxGetMainWnd(); CBCGPGridRow* pRow = m_wndGrid.GetCurSel(); m_bShowBlasterCtrl = FALSE; if(!pRow) { ShowBlasterCtrl(); return; } // 得到网格当前选择的行号 int nRow=pRow->GetRowId(); if(nRow>=pFrm->m_AllShotSources.GetCount()) { ShowBlasterCtrl(); return; } // 找到震源 CShotSource* pSource = pFrm->m_AllShotSources.GetShotSource(nRow); // 查找激活的炮点和震源对象CActiveShot,调用放炮函数 nRow = pFrm->m_AllActiveShots.FindFirstActiveShotBySource(pSource); if(nRow<0) { ShowBlasterCtrl(); return; } CActiveShot* pActiveShot = pFrm->m_AllActiveShots.GetActiveShot(nRow); if(!pActiveShot || !pActiveShot->m_bNewBlaster) { ShowBlasterCtrl(); return; } // 收到新的爆炸机状态参数,显示确认TB、井口时间 m_bShowBlasterCtrl = TRUE; ShowBlasterCtrl(); CString strTemp; if (pActiveShot->m_bITBErr) { m_ctrlBlasterText.SetWindowText(_T("ITB")); } else { m_ctrlBlasterText.SetWindowText(_T("Blaster")); } // 爆炸机状态 m_nBlasterState = pActiveShot->m_byBlasterState; strTemp.Format(_T("%.2f"),pActiveShot->m_fConfirmedTB); m_ctrlTBValue.SetWindowText(strTemp); strTemp.Format(_T("%.2f"),pActiveShot->m_fUpholeTime); m_ctrlUpholeValue.SetWindowText(strTemp); Invalidate(); }
int CTabPage::GetGridListSelectRowID(CBCGPGridCtrl* pGridCtrlList) { int iSelectRowIndex = -1; CBCGPGridRow* pRow = NULL; // 队列行 // 得到选中行 pRow = pGridCtrlList->GetCurSel(); if(NULL != pRow) { iSelectRowIndex = pRow->GetRowId(); } return iSelectRowIndex; }
BOOL CActiveMemberView::GetCurActiveMember(CActiveMember& ActiveMember) { CBCGPGridRow* pRow = GetGridCtrl()->GetCurSel(); if (pRow != NULL) { UINT nMemberId = pRow->GetData(); return ((CActiveMemberGrid*)m_pWndGridCtrl)->GetActiveMemberList()->GetActiveMember(nMemberId, ActiveMember); } return FALSE; }
// 载入一个学生个人信息 void CDlgStudentsSetting::LoadStudent(CString csstudent) { CString name, age, homeplace, birthplace, political, homeaddr, telephonenum; int n = 0; int m = 0; int p = 0; n = csstudent.Find(_T(" "), 0); name = csstudent.Mid(0, n); m = csstudent.Find(_T(" "), n+1); age = csstudent.Mid(n+1, m-n-1); p = csstudent.Find(_T(" "), m+1); homeplace = csstudent.Mid(m+1, p-m-1); n = csstudent.Find(_T(" "), p+1); birthplace = csstudent.Mid(p+1, n-p-1); m = csstudent.Find(_T(" "), n+1); political = csstudent.Mid(n+1, m-n-1); p = csstudent.Find(_T(" "), m+1); homeaddr = csstudent.Mid(m+1, p-m-1); n = csstudent.Find(_T(" "), p+1); telephonenum = csstudent.Mid(p+1, n-p-1); CBCGPGridRow* pRow = m_wndListGrid.CreateRow(m_wndListGrid.GetColumnCount()); pRow->GetItem (0)->SetValue (CstringToWcharT(name)); pRow->GetItem (1)->SetValue (CstringToWcharT(age)); pRow->GetItem (2)->SetValue (CstringToWcharT(homeplace)); pRow->GetItem (3)->SetValue (CstringToWcharT(birthplace)); pRow->GetItem (4)->SetValue (CstringToWcharT(political)); pRow->GetItem (5)->SetValue (CstringToWcharT(homeaddr)); pRow->GetItem (6)->SetValue (CstringToWcharT(telephonenum)); // 增加一行记录 m_wndListGrid.AddRow(pRow); m_wndListGrid.AdjustLayout(); }
/** * 生成编辑界面 * @param LPCREATESTRUCT lpCreateStruct * @return void */ void CTabSpreadAbsolute::OnCreateCtrl(LPCREATESTRUCT lpCreateStruct) { CRect oRect; CString strColumn; CBCGPGridRow* pRow = NULL; oRect.left = lpCreateStruct->x; oRect.top = 160; oRect.right = lpCreateStruct->x + lpCreateStruct->cx - 20; oRect.bottom = oRect.top + 46; m_oGridCtrlEdit.Create(WS_CHILD | WS_VISIBLE, oRect, this, IDC_GRID_EDIT); // 编辑框 m_oGridCtrlEdit.m_iRowHeightAdd = 5; m_oGridCtrlEdit.EnableColumnAutoSize(TRUE); m_oGridCtrlEdit.EnableDragHeaderItems(FALSE); m_oGridCtrlEdit.EnableHeader(TRUE, 0); strColumn = "Nb"; m_oGridCtrlEdit.InsertColumn (0, strColumn, 50); strColumn = "Label"; m_oGridCtrlEdit.InsertColumn (1, strColumn, 80); strColumn = "Absolute Spread"; m_oGridCtrlEdit.InsertColumn (2, strColumn, 100); pRow = m_oGridCtrlEdit.CreateRow(m_oGridCtrlEdit.GetColumnCount()); pRow->GetItem(0)->SetValue(""); pRow->GetItem(1)->SetValue(""); pRow->GetItem(2)->SetBackgroundColor(RGB(192, 192, 192)); m_oGridCtrlEdit.AddRow(pRow, FALSE); oRect.top = oRect.bottom + 14; oRect.bottom = lpCreateStruct->y + lpCreateStruct->cy - 45; m_oGridCtrlList.Create(WS_CHILD | WS_VISIBLE, oRect, this, IDC_GRID_LIST); // 列表 m_oGridCtrlList.m_iRowHeightAdd = 5; m_oGridCtrlList.ShowVertScrollBar(); m_oGridCtrlList.EnableColumnAutoSize(TRUE); m_oGridCtrlList.EnableDragHeaderItems(FALSE); m_oGridCtrlList.EnableHeader(FALSE, 0); m_oGridCtrlList.SetReadOnly(TRUE); m_oGridCtrlList.SetWholeRowSel(TRUE); m_oGridCtrlList.SetSingleSel(TRUE); strColumn = "Nb"; m_oGridCtrlList.InsertColumn (0, strColumn, 50); strColumn = "Label"; m_oGridCtrlList.InsertColumn (1, strColumn, 80); strColumn = "Absolute Spread"; m_oGridCtrlList.InsertColumn (2, strColumn, 100); oRect.top = lpCreateStruct->y; oRect.bottom = 150; m_oEditAbsoluteSpread.Create(WS_CHILD | WS_VISIBLE | WS_BORDER | WS_HSCROLL | WS_VSCROLL | ES_MULTILINE | ES_AUTOVSCROLL | ES_AUTOHSCROLL, oRect, this, 1); // 绝对排列编辑框 }
/** * 响应鼠标单击双击列表 * @param void * @return void */ void CTabSpreadAbsolute::OnGridCtrlListDblClk() { OnGridCtrlListDblClkA(&m_oGridCtrlEdit, &m_oGridCtrlList); CBCGPGridRow* pRow = m_oGridCtrlList.GetCurSel(); if(NULL != pRow) { COleVariant oVariant = pRow->GetItem(2)->GetValue(); oVariant.ChangeType(VT_BSTR); CString AbsoluteSpread = oVariant; AbsoluteSpread.Replace(";", "\r\n"); m_oEditAbsoluteSpread.SetWindowText(AbsoluteSpread); } }
/** * 响应鼠标单击按钮;Reset * @param void * @return void */ void CTabTestLimit::OnBnClickedButtonReset() { CBCGPGridRow* pRow = NULL; POSITION pos= NULL; CTestLimitList* pTestLimitList = NULL; COleVariant oVariant; COleVariant oVariantString; if(1 == m_uiAim) // 测试对象 1-仪器;2-检波器 { pTestLimitList = &m_pSiteData->m_oTestLimitListInstrument; } else if(2 == m_uiAim) // 测试对象 1-仪器;2-检波器 { pTestLimitList = &m_pSiteData->m_oTestLimitListSensor; } pRow = m_oGridCtrlEdit.GetRow(0); pRow->GetItem(0)->SetValue(""); pRow->GetItem(1)->SetValue(""); pRow->GetItem(2)->SetValue(""); pRow->GetItem(3)->SetValue(""); pRow->GetItem(4)->SetValue(""); m_oGridCtrlList.RemoveAll(); // 列表 int iCount = pTestLimitList->m_olsTestLimit.GetCount(); for(int i = 0; i < iCount; i++) { pos = pTestLimitList->m_olsTestLimit.FindIndex(i); CTestLimitData& oTestLimitData = pTestLimitList->m_olsTestLimit.GetAt(pos); pRow = m_oGridCtrlList.CreateRow(m_oGridCtrlList.GetColumnCount()); oVariant = (long)oTestLimitData.m_uiNb; oVariant.ChangeType(VT_BSTR); pRow->GetItem(0)->SetValue(oVariant); oVariant = oTestLimitData.m_strDesc; pRow->GetItem(1)->SetValue(oVariant); oVariant = oTestLimitData.m_strUnit; pRow->GetItem(2)->SetValue(oVariant); oVariantString = m_pSiteData->GetTestTypeStringByID(oTestLimitData.m_uiType); oVariantString.ChangeType(VT_BSTR); pRow->GetItem(3)->SetValue(oVariantString); oVariant = oTestLimitData.m_fLimit; oVariant.ChangeType(VT_BSTR); pRow->GetItem(4)->SetValue(oVariant); m_oGridCtrlList.AddRow(pRow, FALSE); } m_oGridCtrlEdit.AdjustLayout(); m_oGridCtrlList.AdjustLayout(); }
void CComputerGrid::UpdateAllComputersUseTime() { for (INT_PTR i = 0; i < m_lpComputerList->GetCount(); i++) { CComputerInfo& computer = m_lpComputerList->GetComputer(i); CBCGPGridRow* pRow = FindRowByData(i); if (pRow != NULL) { pRow->GetItem(6)->SetValue(computer.GetUseTimeAsString().GetString()); } } }
/** * 响应鼠标单击双击列表 * @param void * @return void */ void CTabTestSensor::OnGridCtrlListDblClk() { OnGridCtrlListDblClkA(&m_oGridCtrlEdit, &m_oGridCtrlList); CBCGPGridRow* pRow = m_oGridCtrlList.GetCurSel(); if(NULL != pRow) { COleVariant oVariant = pRow->GetItem(3)->GetValue(); oVariant.ChangeType(VT_BSTR); CString AbsoluteSpread = oVariant; AbsoluteSpread.Replace(";", "\r\n"); GetDlgItem(IDC_EDIT_ABSOLUTESPREAD)->SetWindowText(AbsoluteSpread); } }
/** * 响应检波器图形视图弹出菜单Mute设置 * @param unsigned int uiNbLine 测线号 * @param unsigned int uiNbPoint 测点号 * @return void */ void CTabMute::OnGraphViewSensorSetMute(unsigned int uiNbLine, unsigned int uiNbPoint) { CBCGPGridRow* pRow = NULL; COleVariant oVariant; pRow = m_oGridCtrlEdit.GetRow(0); oVariant = (long)uiNbLine; oVariant.ChangeType(VT_BSTR); pRow->GetItem(0)->SetValue(oVariant); oVariant = (long)uiNbPoint; oVariant.ChangeType(VT_BSTR); pRow->GetItem(1)->SetValue(oVariant); }