/** * 响应鼠标单击按钮;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(); }
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); } }
/** * 响应鼠标单击按钮;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(); }
/** * @brief 响应鼠标单击按钮;Add * @note 该函数总是向列表框的后面追加记录。 * @param CBCGPGridCtrl* pGridCtrlEdit 输入行 * @param CBCGPGridCtrl* pGridCtrlList 列表 * @param CList<int, int>* ListNb Nb号队列指针 * @return void */ void CGridCtrlOperation::OnBnClickedButtonAddA(CBCGPGridCtrl* pGridCtrlEdit, CBCGPGridCtrl* pGridCtrlList) { int i; int iNb; COleVariant oEditVariant; CBCGPGridRow* pRowEdit = NULL; // 输入行 CBCGPGridRow* pRowNew = NULL; // 新行 int iRowID = 0; CList<int, int> ListNb; // 得到索引队列,增加操作 if(false == GetIndexListForAdd(pGridCtrlEdit, &ListNb)) { return; } pRowEdit = pGridCtrlEdit->GetRow(0); while(FALSE == ListNb.IsEmpty()) { // 得到索引号 iNb = ListNb.RemoveHead(); // 索引号在列表中已经存在 if(NULL != pGridCtrlList->FindRowByData(iNb)) { continue; } pRowNew = pGridCtrlList->CreateRow(pGridCtrlList->GetColumnCount()); pRowNew->SetData(iNb); oEditVariant.vt = VT_UI4; oEditVariant.ulVal = iNb; oEditVariant.ChangeType(VT_BSTR); pRowNew->GetItem(0)->SetValue(oEditVariant); for(i = 1; i < pGridCtrlList->GetColumnCount(); i++) { oEditVariant= pRowEdit->GetItem(i)->GetValue(); pRowNew->GetItem(i)->SetValue(oEditVariant); } pGridCtrlList->AddRow(pRowNew, FALSE); /* if(iSelectRowIndex == -1) // 无选中行 { pGridCtrlList->AddRow(pRowNew, FALSE); } else { pGridCtrlList->InsertRowAfter(iSelectRowIndex + iRowID, pRowNew, FALSE); iRowID++; }*/ } pGridCtrlList->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); // 绝对排列编辑框 }
/** * 响应检波器图形视图弹出菜单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); }
/** * 生成编辑界面 * @param LPCREATESTRUCT lpCreateStruct * @return void */ void CTabFormLine::OnCreateCtrl(LPCREATESTRUCT lpCreateStruct) { CRect oRect; CString strColumn; CBCGPGridRow* pRow = NULL; oRect.left = lpCreateStruct->x; oRect.top = lpCreateStruct->y; oRect.right = lpCreateStruct->x + lpCreateStruct->cx - 20; oRect.bottom = lpCreateStruct->y + 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 = "BoxType"; m_oGridCtrlEdit.InsertColumn (1, strColumn, 50); strColumn = "Serial Nb"; m_oGridCtrlEdit.InsertColumn (2, strColumn, 50); pRow = m_oGridCtrlEdit.CreateRow(m_oGridCtrlEdit.GetColumnCount()); pRow->GetItem(0)->SetValue(""); pRow->GetItem(1)->SetValue(""); // 初始化BoxType单元格 InitBoxTypeGridItem(pRow->GetItem(1)); pRow->GetItem(2)->SetValue(""); m_oGridCtrlEdit.AddRow(pRow, FALSE); oRect.left = lpCreateStruct->x; oRect.top = lpCreateStruct->y + 60; oRect.right = lpCreateStruct->x + lpCreateStruct->cx - 20; oRect.bottom = lpCreateStruct->y + lpCreateStruct->cy - 25; 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 = "BoxType"; m_oGridCtrlList.InsertColumn (1, strColumn, 50); strColumn = "Serial Nb"; m_oGridCtrlList.InsertColumn (2, strColumn, 50); }
/** * 响应鼠标单击双击列表 * @param CBCGPGridCtrl* pGridCtrlEdit 输入行 * @param CBCGPGridCtrl* pGridCtrlList 列表 * @return void */ void CTabPage::OnGridCtrlListDblClkA(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); for(int i = 1; i < pGridCtrlList->GetColumnCount(); i++) { oVariant = pRow->GetItem(i)->GetValue(); pGridCtrlEdit->GetRow(0)->GetItem(i)->SetValue(oVariant); } } }
/** * @brief 单击列表框中某一条目 * @note * @param CGridCtrlEdit* pGridEdit * @param CGridCtrlList* pGridList * @return */ void CGridCtrlOperation::OnGridItemClick(CGridCtrlEdit* pGridEdit,CGridCtrlList* pGridList) { if(!pGridList || !pGridEdit) return; CBCGPGridRow* pRowList = pGridList->GetCurSel(); if(!pRowList) return ; CBCGPGridRow* pRowEdit = pGridEdit->GetRow(0); if(!pRowEdit) return ; COleVariant oVariant = pRowList->GetItem(0)->GetValue(); oVariant.ChangeType(VT_BSTR); pRowEdit->GetItem(0)->SetValue(oVariant); }
/** * 响应仪器图形视图弹出菜单设置标记点 * @param unsigned int uiInstrumentType 仪器类型 1-交叉站;2-电源站;3-采集站 * @param unsigned int uiSN 仪器设备号 * @return void */ void CTabMarker::OnGraphViewInstrumentSetMarker(unsigned int uiInstrumentType, unsigned int uiSN) { CBCGPGridRow* pRow = NULL; pRow = m_oGridCtrlEdit.GetRow(0); // 得到BoxType字符串 CString strBoxType = m_pSiteData->GetBoxTypeStringByID(uiInstrumentType); COleVariant oVariant = strBoxType; pRow->GetItem(0)->SetValue(oVariant); CString strSN; strSN.Format("%d", uiSN); oVariant = strSN; pRow->GetItem(1)->SetValue(oVariant); }
/** * 响应鼠标单击按钮;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 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); } }
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; }
// 载入一个学生个人信息 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(); }
/** * 响应鼠标单击按钮;Add * @param CBCGPGridCtrl* pGridCtrlEdit 输入行 * @param CBCGPGridCtrl* pGridCtrlList 列表 * @param CList<int, int>* plsNb Nb号队列指针 * @return void */ void CTabPage::OnBnClickedButtonAddA(CBCGPGridCtrl* pGridCtrlEdit, CBCGPGridCtrl* pGridCtrlList, CList<int, int>* plsNb) { CBCGPGridRow* pRowEdit = NULL; // 输入行 CBCGPGridRow* pRowNew = NULL; // 新行 int iRowID = 0; // 得到索引队列,增加操作 if(false == GetIndexListForAdd(pGridCtrlEdit, plsNb)) { return; } // 得到列表当前选中行索引 int iSelectRowIndex = GetGridListSelectRowID(pGridCtrlList); // 得到输入行 pRowEdit = pGridCtrlEdit->GetRow(0); while(FALSE == plsNb->IsEmpty()) { // 得到索引号 int iNb = plsNb->RemoveHead(); // 索引号在列表中已经存在 if(NULL != pGridCtrlList->FindRowByData(iNb)) { continue; } pRowNew = pGridCtrlList->CreateRow(pGridCtrlList->GetColumnCount()); pRowNew->SetData(iNb); pRowNew->GetItem(0)->SetValue(iNb); for(int i = 1; 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); iRowID++; } } pGridCtrlList->AdjustLayout(); }
/** * 响应鼠标单击按钮;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(); }
/** * 响应鼠标单击按钮;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(); }
/** * 响应鼠标单击按钮;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); } }
/** * 响应鼠标单击按钮;Change * @param CBCGPGridCtrl* pGridCtrlEdit 输入行 * @param CBCGPGridCtrl* pGridCtrlList 列表 * @return void */ void CGridCtrlOperation::OnBnClickedButtonChangeA(CBCGPGridCtrl* pGridCtrlEdit, CBCGPGridCtrl* pGridCtrlList) { int i,iRowIndex; COleVariant oEditVariant ; //COleVariant oListVariant ; CString strData; CBCGPGridRow* pRowEdit = NULL; // 输入行 CBCGPGridRow* pRowChange = NULL; // 修改行 CList<int, int> ListNb; // 得到索引队列,修改操作、删除操作、颠倒操作 if(false == GetIndexListForChangeOrDeleteOrReverse(pGridCtrlEdit, pGridCtrlList, &ListNb)) { return; } // 得到输入行 pRowEdit = pGridCtrlEdit->GetRow(0); while(FALSE == ListNb.IsEmpty()) { // 得到行索引号 iRowIndex = ListNb.RemoveHead(); pRowChange = pGridCtrlList->GetRow(iRowIndex); for(i = 1; i < pGridCtrlList->GetColumnCount(); i++) { oEditVariant= pRowEdit->GetItem(i)->GetValue(); if(oEditVariant.vt == VT_BSTR) { strData = oEditVariant; if(strData != _T("/")) { pRowChange->GetItem(i)->SetValue(oEditVariant); } } else { pRowChange->GetItem(i)->SetValue(oEditVariant); } } } pGridCtrlList->AdjustLayout(); }
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; }
BOOL CBCGPMSMoneyDemoView::AddData (LPCTSTR strPeriod, LPCTSTR strValue, double dDifference) { CBCGPGridRow* pRow = m_wndGrid.CreateRow (m_wndGrid.GetColumnCount ()); CString strCurrDate = __DATE__; CString strQaurter; strQaurter.Format (_T("%s %s"), strPeriod, strCurrDate.Right (4)); pRow->GetItem (1)->SetValue ((LPCTSTR)strQaurter); pRow->GetItem (2)->SetValue (strValue); CBCGPGridPercentItem* pPercItem = new CBCGPGridPercentItem (dDifference); pPercItem->SetPrecision (2); pPercItem->SetTextColor (dDifference < 0 ? RGB (255, 0, 0) : RGB (0, 127, 0)); pRow->ReplaceItem (3, pPercItem); m_wndGrid.AddRow (pRow); return TRUE; }
void CToolGridListDlg::LoadTooList() { if ( !IsWindow( m_wndGridTools.GetSafeHwnd() ) ) return ; if ( m_wndGridTools.GetColumnCount() <= 0 ) return; const int nColumns = m_wndGridTools.GetColumnCount (); CBCGPGridRow * pRow = NULL; map<CString,ToolObject>::iterator iter = m_ToolMap.begin(); for (; iter!=m_ToolMap.end(); iter++ ) { pRow = m_wndGridTools.CreateRow (nColumns); pRow->AllowSubItems (); pRow->GetItem (0)->SetValue ((LPCTSTR)iter->second.m_strID); pRow->GetItem (1)->SetValue ((LPCTSTR)iter->second.m_strName); pRow->GetItem (2)->SetValue ((LPCTSTR)iter->second.m_strDescription); pRow->GetItem (3)->SetValue ((LPCTSTR)iter->second.m_strLocalPath); pRow->GetItem (4)->SetValue ((LPCTSTR)iter->second.m_strRunParam); m_wndGridTools.AddRow (pRow, FALSE); } }
CBCGPGridRow* CStatisGridCtrl::CreateNewRow () { CBCGPGridRow* pRow = CreateRow (GetColumnCount()); for (int i = 0; i < GetColumnCount ();i++) { pRow->GetItem (i)->AllowEdit (FALSE); } return pRow; }
/** * 响应鼠标单击按钮;Apply * @param void * @return void */ void CTabMute::OnBnClickedButtonApply() { CBCGPGridRow* pRow = NULL; CMuteData oMuteData; CString strData; m_pSiteData->m_oMuteList.m_olsMute.RemoveAll(); m_pSiteData->m_oMuteList.m_uiCountAll = m_oGridCtrlList.GetRowCount(); for(int i = 0; i < m_oGridCtrlList.GetRowCount(); i++) { pRow = m_oGridCtrlList.GetRow(i); strData = pRow->GetItem(0)->GetValue(); oMuteData.m_uiLineName = CXMLDOMTool::ConvertStringToUnsignedInt(strData); strData = pRow->GetItem(1)->GetValue(); oMuteData.m_uiPointNb = CXMLDOMTool::ConvertStringToUnsignedInt(strData); m_pSiteData->m_oMuteList.m_olsMute.AddTail(oMuteData); } }
void CWorkSpaceBar::LoadMember(CString csmember) { // char name[256], age[256], homeplace[256], birthplace[256], political[256], homeaddr[256], telephonenum[256]; // sscanf(csmember, "%s%s%s%s%s%s%s", name, age, homeplace, birthplace, political, homeaddr, telephonenum); CString name, age, homeplace, birthplace, political, homeaddr, telephonenum; int n = 0; int m = 0; int p = 0; n = csmember.Find(_T(" "), 0); name = csmember.Mid(0, n); m = csmember.Find(_T(" "), n+1); age = csmember.Mid(n+1, m-n-1); p = csmember.Find(_T(" "), m+1); homeplace = csmember.Mid(m+1, p-m-1); n = csmember.Find(_T(" "), p+1); birthplace = csmember.Mid(p+1, n-p-1); m = csmember.Find(_T(" "), n+1); political = csmember.Mid(n+1, m-n-1); p = csmember.Find(_T(" "), m+1); homeaddr = csmember.Mid(m+1, p-m-1); n = csmember.Find(_T(" "), p+1); telephonenum = csmember.Mid(p+1, n-p-1); CBCGPGridRow* pRow = m_pGridView->CreateRow(m_pGridView->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_pGridView->AddRow (pRow, FALSE ); }
/** * 响应仪器图形视图弹出菜单设置迂回道 * @param unsigned int uiInstrumentType 低端仪器类型 1-交叉站;2-电源站;3-采集站 * @param unsigned int uiSN 低端仪器设备号 * @param unsigned int uiInstrumentType 高端仪器类型 1-交叉站;2-电源站;3-采集站 * @param unsigned int uiSN 高端仪器设备号 * @return void */ void CTabDetour::OnGraphViewInstrumentSetDetour(unsigned int uiInstrumentTypeLow, unsigned int uiSNLow, unsigned int uiInstrumentTypeHigh, unsigned int uiSNHight) { CBCGPGridRow* pRow = NULL; COleVariant oVariant; pRow = m_oGridCtrlEdit.GetRow(0); // 得到BoxType字符串 CString strBoxType = m_pSiteData->GetBoxTypeStringByID(uiInstrumentTypeLow); oVariant = strBoxType; pRow->GetItem(0)->SetValue(oVariant); CString strSNLow; strSNLow.Format("%d", uiSNLow); oVariant = strSNLow; oVariant.ChangeType(VT_BSTR); pRow->GetItem(1)->SetValue(oVariant); oVariant = (long)1; oVariant.ChangeType(VT_BSTR); pRow->GetItem(2)->SetValue(oVariant); strBoxType = m_pSiteData->GetBoxTypeStringByID(uiInstrumentTypeHigh); oVariant = strBoxType; pRow->GetItem(3)->SetValue(oVariant); CString strSNHigh; strSNHigh.Format("%d", uiSNHight); oVariant = strSNHigh; oVariant.ChangeType(VT_BSTR); pRow->GetItem(4)->SetValue(oVariant); oVariant = (long)1; oVariant.ChangeType(VT_BSTR); pRow->GetItem(5)->SetValue(oVariant); }
/** * 响应鼠标单击按钮;Apply * @param void * @return void */ void CTabTestSensor::OnBnClickedButtonApply() { CBCGPGridRow* pRow = NULL; CTestProject* pTestProject = NULL; CString strData; m_pSiteData->m_oTestProjectListSensor.OnClose(); m_pSiteData->m_oTestProjectListSensor.m_uiCountAll = m_oGridCtrlList.GetRowCount(); for(int i = 0; i < m_oGridCtrlList.GetRowCount(); i++) { pRow = m_oGridCtrlList.GetRow(i); pTestProject = new CTestProject; pTestProject->m_uiProjectType = 2; // 测试项目类型 1-仪器测试;2-检波器测试;3-复合测试;4-噪声监测 pTestProject->m_uiTestNb = pRow->GetData(); COleVariant oVariant = pRow->GetItem(2)->GetValue(); oVariant.ChangeType(VT_UINT); if(0 == oVariant.uintVal) { pTestProject->m_uiRecordResult = 0; } else { pTestProject->m_uiRecordResult = 1; } strData = pRow->GetItem(3)->GetValue(); pTestProject->m_strAbsoluteSpread = strData; CTestRequest oTestRequest; strData = pRow->GetItem(1)->GetValue(); oTestRequest.m_uiType = m_pSiteData->GetTestTypeIDByString(strData); pTestProject->m_olsTestRequest.AddTail(oTestRequest); pTestProject->m_uiCountAll = 1; m_pSiteData->m_oTestProjectListSensor.m_olsTestProject.AddTail(pTestProject); } }
/** * 响应鼠标单击按钮;Reset * @param void * @return void */ void CTabSpreadAbsolute::OnBnClickedButtonReset() { CBCGPGridRow* pRow = NULL; POSITION pos = NULL; CSpreadAbsoluteData oSpread; COleVariant oVariantBool; COleVariant oVariantString; pRow = m_oGridCtrlEdit.GetRow(0); pRow->GetItem(0)->SetValue(""); pRow->GetItem(1)->SetValue(""); pRow->GetItem(2)->SetValue(""); m_oEditAbsoluteSpread.SetWindowText(""); m_oGridCtrlList.RemoveAll(); // 列表 int iCount = m_pSiteData->m_oSpreadAbsoluteList.m_olsSpreadAbsolute.GetCount(); for(int i = 0; i < iCount; i++) { pos = m_pSiteData->m_oSpreadAbsoluteList.m_olsSpreadAbsolute.FindIndex(i); oSpread = m_pSiteData->m_oSpreadAbsoluteList.m_olsSpreadAbsolute.GetAt(pos); pRow = m_oGridCtrlList.CreateRow(m_oGridCtrlList.GetColumnCount()); pRow->SetData(oSpread.m_uiNb); oVariantString = (long)oSpread.m_uiNb; oVariantString.ChangeType(VT_BSTR); pRow->GetItem(0)->SetValue(oVariantString); oVariantString = oSpread.m_strLabel; pRow->GetItem(1)->SetValue(oVariantString); oVariantString = oSpread.m_strSpread; pRow->GetItem(2)->SetValue(oVariantString); m_oGridCtrlList.AddRow(pRow, FALSE); } m_oGridCtrlEdit.AdjustLayout(); m_oGridCtrlList.AdjustLayout(); }
/** * @brief 响应鼠标单击按钮;Change * @note 与 OnBnClickedButtonChangeA函数不同,该函数对每一列调用GetValueForTextField进行解析。 * 支持V/i的格式输入。 * @param CBCGPGridCtrl* pGridCtrlEdit 输入行 * @param CBCGPGridCtrl* pGridCtrlList 列表 * @return void */ void CGridCtrlOperation::OnBnClickedButtonChangeB(CBCGPGridCtrl* pGridCtrlEdit, CBCGPGridCtrl* pGridCtrlList) { int nIndex; // 计数器,计算当前更新的行数 int i,iRowIndex; COleVariant oEditVariant ; COleVariant oListVariant ; CString strData; CBCGPGridRow* pRowEdit = NULL; // 输入行 CBCGPGridRow* pRowChange = NULL; // 修改行 CList<int, int> ListNb; // 得到索引队列,修改操作、删除操作、颠倒操作 if(false == GetIndexListForChangeOrDeleteOrReverse(pGridCtrlEdit, pGridCtrlList, &ListNb)) { return; } // 得到输入行 pRowEdit = pGridCtrlEdit->GetRow(0); nIndex = 0; while(FALSE == ListNb.IsEmpty()) { // 得到行索引号 iRowIndex = ListNb.RemoveHead(); pRowChange = pGridCtrlList->GetRow(iRowIndex); for(i = 1; i < pGridCtrlList->GetColumnCount(); i++) { oEditVariant= pRowEdit->GetItem(i)->GetValue(); oListVariant= pRowChange->GetItem(i)->GetValue(); oListVariant = GetValueForTextField(&oEditVariant,&oListVariant,nIndex); if (oEditVariant.vt == VT_BSTR) { oListVariant.ChangeType(VT_BSTR); } pRowChange->GetItem(i)->SetValue(oListVariant); } nIndex++; } pGridCtrlList->AdjustLayout(); }