/**
* 响应鼠标单击按钮;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();
}
Example #2
0
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);
	}
}
Example #12
0
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();
}
Example #17
0
/**
* 响应鼠标单击按钮;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();
}
Example #21
0
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;
}
Example #22
0
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);
    }
}
Example #24
0
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);
}
Example #28
0
/**
* 响应鼠标单击按钮;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();
}