コード例 #1
0
ファイル: MailView.cpp プロジェクト: zxlooong/bcgexp
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);
	}
}
コード例 #2
0
//**********************************************************************
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
}
コード例 #3
0
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);
		}
	}
}
コード例 #4
0
/************************************************************************************
    函    数:
    
    输    入:
    
    输    出:
  
    返 回 值:
    
    功    能:     用户按下“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);
	}	
}
コード例 #5
0
//******************************************************************************************
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);
}
コード例 #6
0
/**
* 响应鼠标单击按钮;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();
}
コード例 #7
0
/**
* 响应鼠标单击按钮;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);
	}
}
コード例 #8
0
// 重新加载现场测道数据
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 ();
}
コード例 #9
0
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());
			}
		}
	}
}
コード例 #10
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);
	}
}
コード例 #11
0
/**
* 响应鼠标单击按钮;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();
}
コード例 #12
0
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; 
}
コード例 #13
0
/**
* 响应鼠标单击按钮;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;
}
コード例 #14
0
/**
* 响应鼠标单击列表
* @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);
	}
}
コード例 #15
0
//拷屏
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());
}
コード例 #16
0
ファイル: AllCheckOut.cpp プロジェクト: layerfsd/PersonalIBA
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;
}
コード例 #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();
}
コード例 #18
0
ファイル: ClientStatisView.cpp プロジェクト: samkrew/nxp-lpc
CBCGPGridRow* CStatisGridCtrl::CreateNewRow ()
{
	CBCGPGridRow* pRow = CreateRow (GetColumnCount());

	for (int i = 0; i < GetColumnCount ();i++)
	{
		pRow->GetItem (i)->AllowEdit (FALSE);
	}

	return pRow;
}
コード例 #19
0
/**
 * @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;
	}
}
コード例 #20
0
/**
* 响应鼠标单击按钮;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;
}
コード例 #21
0
/**
 * @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();
}
コード例 #22
0
int CTabPage::GetGridListSelectRowID(CBCGPGridCtrl* pGridCtrlList)
{
	int iSelectRowIndex = -1;
	CBCGPGridRow* pRow = NULL;	// 队列行

	// 得到选中行
	pRow = pGridCtrlList->GetCurSel();
	if(NULL != pRow)
	{
		iSelectRowIndex = pRow->GetRowId();
	}
	return iSelectRowIndex;
}
コード例 #23
0
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;
}
コード例 #24
0
// 载入一个学生个人信息
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();
}
コード例 #25
0
/**
* 生成编辑界面
* @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);	// 绝对排列编辑框
}
コード例 #26
0
/**
* 响应鼠标单击双击列表
* @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);
	}
}
コード例 #27
0
/**
* 响应鼠标单击按钮;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();
}
コード例 #28
0
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());
		}
	}
}
コード例 #29
0
/**
* 响应鼠标单击双击列表
* @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);
    }
}
コード例 #30
0
/**
* 响应检波器图形视图弹出菜单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);
}