⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tagview.cpp

📁 《WinCE.NET嵌入式工业用控制器及自动控制系统设计》的源代码
💻 CPP
📖 第 1 页 / 共 2 页
字号:
   list.InsertColumn( COLUMN_HHBIT,  _T("ALM HH"), LVCFMT_LEFT, 60, 3 );
   list.InsertColumn( COLUMN_HBIT, _T("ALM H"), LVCFMT_LEFT, 50, 4 );
   list.InsertColumn( COLUMN_LBIT,  _T("ALM L"), LVCFMT_LEFT, 50, 5 );
   list.InsertColumn( COLUMN_LLBIT, _T("ALM LL"), LVCFMT_LEFT, 60, 6 );
   list.InsertColumn( COLUMN_RH,  _T("Range High"), LVCFMT_LEFT, 70, 7 );
   list.InsertColumn( COLUMN_RL, _T("Range Low"), LVCFMT_LEFT, 70, 8 );
   list.InsertColumn( COLUMN_BH,  _T("Bare High"), LVCFMT_LEFT, 70, 9 );
   list.InsertColumn( COLUMN_BL, _T("Bare Low"), LVCFMT_LEFT, 70, 10 );
   list.InsertColumn( COLUMN_FL,  _T("Filter"), LVCFMT_LEFT, 70, 11 );
   list.InsertColumn( COLUMN_HH, _T("Alarm HH"), LVCFMT_LEFT, 70, 12 );
   list.InsertColumn( COLUMN_H,  _T("Alarm H"), LVCFMT_LEFT, 70, 13 );
   list.InsertColumn( COLUMN_L, _T("Alarm L"), LVCFMT_LEFT, 70, 14 );
   list.InsertColumn( COLUMN_LL,  _T("Alarm LL"), LVCFMT_LEFT, 70, 15 );
   list.InsertColumn( COLUMN_DEAD, _T("Dead Zone"), LVCFMT_LEFT, 70, 16 );

  	CString  msg;
	int i;
	for(i=0; i<ED_MAX; i++)
	{
		msg.Format(_T("Holding Register"));
		list.InsertItem(i, msg); 
		msg.Format(_T("%06d"), AO_BARE_PTR+i*2+400001);
		list.SetItemText(i, 1, msg);
		list.SetItemText(i, COLUMN_ADDR, msg);
		display_TAG(&list, AO_BARE_TYPE, i); 
	}	
}

void CTAGView::OnUpdateViewOutreg(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
if(DSPTAG_Flag[3]==1)
   pCmdUI->Enable(false);
else
   pCmdUI->Enable(true);		
	
}

void CTAGView::OnViewIncoilSoft() 
{
	// TODO: Add your command handler code here
	memset(DSPTAG_Flag, 0, sizeof(DSPTAG_Flag));
	DSPTAG_Flag[4]= 1;

   CListCtrl& list = GetListCtrl();
   list.DeleteAllItems();
   while( list.DeleteColumn( 0 ) )
      ;

// set checkbox and full-line
//   m_list1.SetExtendedStyle( LVS_EX_CHECKBOXES | LVS_EX_FULLROWSELECT);   
   list.SetExtendedStyle(LVS_EX_FULLROWSELECT);   

   list.InsertColumn( COLUMN_TYPE,  _T("TAG Type"), LVCFMT_LEFT, 90, 0 );
   list.InsertColumn( COLUMN_ADDR, _T("Modbus"), LVCFMT_LEFT, 60, 1 );
   list.InsertColumn( COLUMN_BARE ,  _T("Status"), LVCFMT_LEFT, 60, 2 );

  	CString  msg;
	int i;
	for(i=0; i<DD_MAX_BIT*2; i++)
	{
		msg.Format(_T("InCoil Soft"));
		list.InsertItem(i, msg); 
		msg.Format(_T("%06d"), DI_SOFT_PTR+i+1);
		list.SetItemText(i, 1, msg);
		display_TAG(&list, DI_SOFT_TYPE, i); 
    }	
}

void CTAGView::OnUpdateViewIncoilSoft(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
if(DSPTAG_Flag[4]==1)
   pCmdUI->Enable(false);
else
   pCmdUI->Enable(true);		
	
}

void CTAGView::OnViewOutcoilSoft() 
{
	// TODO: Add your command handler code here
	memset(DSPTAG_Flag, 0, sizeof(DSPTAG_Flag));
	DSPTAG_Flag[5]= 1;
	
   CListCtrl& list = GetListCtrl();
   list.DeleteAllItems();
   while( list.DeleteColumn( 0 ) )
      ;

// set checkbox and full-line
//   m_list1.SetExtendedStyle( LVS_EX_CHECKBOXES | LVS_EX_FULLROWSELECT);   
   list.SetExtendedStyle(LVS_EX_FULLROWSELECT);   

   list.InsertColumn( COLUMN_TYPE,  _T("TAG Type"), LVCFMT_LEFT, 90, 0 );
   list.InsertColumn( COLUMN_ADDR, _T("Modbus"), LVCFMT_LEFT, 60, 1 );
   list.InsertColumn( COLUMN_BARE ,  _T("Status"), LVCFMT_LEFT, 60, 2 );

  	CString  msg;
	int i;
	for(i=0; i<DD_MAX_BIT*2; i++)
	{
		msg.Format(_T("OutCoil Soft"));
		list.InsertItem(i, msg); 
		msg.Format(_T("%06d"), DO_SOFT_PTR+i+1);
		list.SetItemText(i, 1, msg);
		display_TAG(&list, DO_SOFT_TYPE, i); 
    }	
}

void CTAGView::OnUpdateViewOutcoilSoft(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
if(DSPTAG_Flag[5]==1)
   pCmdUI->Enable(false);
else
   pCmdUI->Enable(true);		
	
}

void CTAGView::OnViewInregSoft() 
{
	// TODO: Add your command handler code here
	memset(DSPTAG_Flag, 0, sizeof(DSPTAG_Flag));
	DSPTAG_Flag[6]= 1;
	
   CListCtrl& list = GetListCtrl();
   list.DeleteAllItems();
   while( list.DeleteColumn( 0 ) )
      ;

// set checkbox and full-line
//   m_list1.SetExtendedStyle( LVS_EX_CHECKBOXES | LVS_EX_FULLROWSELECT);   
   list.SetExtendedStyle(LVS_EX_FULLROWSELECT);   

   list.InsertColumn( COLUMN_TYPE,  _T("TAG Type"), LVCFMT_LEFT, 90, 0 );
   list.InsertColumn( COLUMN_ADDR, _T("Modbus"), LVCFMT_LEFT, 60, 1 );
   list.InsertColumn( COLUMN_ENG ,  _T("Soft data"), LVCFMT_LEFT, 60, 2 );
   list.InsertColumn( COLUMN_HHBIT,  _T("ALM HH"), LVCFMT_LEFT, 60, 3 );
   list.InsertColumn( COLUMN_HBIT, _T("ALM H"), LVCFMT_LEFT, 50, 4 );
   list.InsertColumn( COLUMN_LBIT,  _T("ALM L"), LVCFMT_LEFT, 50, 5 );
   list.InsertColumn( COLUMN_LLBIT, _T("ALM LL"), LVCFMT_LEFT, 60, 6 );
   list.InsertColumn( 7, _T("Alarm HH"), LVCFMT_LEFT, 70, 12 );
   list.InsertColumn( 8,  _T("Alarm H"), LVCFMT_LEFT, 70, 13 );
   list.InsertColumn( 9, _T("Alarm L"), LVCFMT_LEFT, 70, 14 );
   list.InsertColumn( 10,  _T("Alarm LL"), LVCFMT_LEFT, 70, 15 );
   list.InsertColumn( 11, _T("Dead Zone"), LVCFMT_LEFT, 70, 16 );

  	CString  msg;
	int i;
	for(i=0; i<ED_MAX*4; i++)
	{
		msg.Format(_T("InReg. Soft"));
		list.InsertItem(i, msg); 
		msg.Format(_T("%06d"), AI_SOFT_PTR*2+i*2+300001);
		list.SetItemText(i, COLUMN_ADDR, msg);
		display_TAG(&list, AI_SOFT_TYPE, i); 
	}	
}

void CTAGView::OnUpdateViewInregSoft(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
if(DSPTAG_Flag[6]==1)
   pCmdUI->Enable(false);
else
   pCmdUI->Enable(true);		
	
}

void CTAGView::OnViewOutregSoft() 
{
	// TODO: Add your command handler code here
	memset(DSPTAG_Flag, 0, sizeof(DSPTAG_Flag));
	DSPTAG_Flag[7]= 1;
	
   CListCtrl& list = GetListCtrl();
   list.DeleteAllItems();
   while( list.DeleteColumn( 0 ) )
      ;

// set checkbox and full-line
//   m_list1.SetExtendedStyle( LVS_EX_CHECKBOXES | LVS_EX_FULLROWSELECT);   
   list.SetExtendedStyle(LVS_EX_FULLROWSELECT);   

   list.InsertColumn( COLUMN_TYPE,  _T("TAG Type"), LVCFMT_LEFT, 90, 0 );
   list.InsertColumn( COLUMN_ADDR, _T("Modbus"), LVCFMT_LEFT, 60, 1 );
   list.InsertColumn( COLUMN_ENG ,  _T("Soft data"), LVCFMT_LEFT, 60, 2 );
   list.InsertColumn( COLUMN_HHBIT,  _T("ALM HH"), LVCFMT_LEFT, 60, 3 );
   list.InsertColumn( COLUMN_HBIT, _T("ALM H"), LVCFMT_LEFT, 50, 4 );
   list.InsertColumn( COLUMN_LBIT,  _T("ALM L"), LVCFMT_LEFT, 50, 5 );
   list.InsertColumn( COLUMN_LLBIT, _T("ALM LL"), LVCFMT_LEFT, 60, 6 );
   list.InsertColumn( 7, _T("Alarm HH"), LVCFMT_LEFT, 70, 12 );
   list.InsertColumn( 8,  _T("Alarm H"), LVCFMT_LEFT, 70, 13 );
   list.InsertColumn( 9, _T("Alarm L"), LVCFMT_LEFT, 70, 14 );
   list.InsertColumn( 10,  _T("Alarm LL"), LVCFMT_LEFT, 70, 15 );
   list.InsertColumn( 11, _T("Dead Zone"), LVCFMT_LEFT, 70, 16 );

  	CString  msg;
	int i;
	for(i=0; i<ED_MAX*4; i++)
	{
		msg.Format(_T("OutReg. Soft"));
		list.InsertItem(i, msg); 
		msg.Format(_T("%06d"), AO_SOFT_PTR*2+i*2+400001);
		list.SetItemText(i, COLUMN_ADDR, msg);
		display_TAG(&list, AO_SOFT_TYPE, i); 
	}	
}

void CTAGView::OnUpdateViewOutregSoft(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
if(DSPTAG_Flag[7]==1)
   pCmdUI->Enable(false);
else
   pCmdUI->Enable(true);		
	
}

void CTAGView::OnViewTimer() 
{
	// TODO: Add your command handler code here
	memset(DSPTAG_Flag, 0, sizeof(DSPTAG_Flag));
	DSPTAG_Flag[8]= 1;
	
   CListCtrl& list = GetListCtrl();
   list.DeleteAllItems();
   while( list.DeleteColumn( 0 ) )
      ;

// set checkbox and full-line
//   m_list1.SetExtendedStyle( LVS_EX_CHECKBOXES | LVS_EX_FULLROWSELECT);   
   list.SetExtendedStyle(LVS_EX_FULLROWSELECT);   

   list.InsertColumn( COLUMN_TYPE,  _T("TAG Type"), LVCFMT_LEFT, 90, 0 );
   list.InsertColumn( COLUMN_ADDR, _T("Modbus"), LVCFMT_LEFT, 60, 1 );
   list.InsertColumn( COLUMN_ENG ,  _T("Preset"), LVCFMT_LEFT, 60, 2 );
   list.InsertColumn( COLUMN_HHBIT,  _T("Modbus"), LVCFMT_LEFT, 60, 3 );
   list.InsertColumn( COLUMN_HBIT, _T("Current"), LVCFMT_LEFT, 60, 4 );
   list.InsertColumn( COLUMN_LBIT,  _T("Modbus"), LVCFMT_LEFT, 60, 5 );
   list.InsertColumn( COLUMN_LLBIT, _T("Contact"), LVCFMT_LEFT, 60, 6 );

  	CString  msg;
	int i;
	for(i=0; i<CT_MAX_CASE; i++)
	{
		msg.Format(_T("Timer"));
		list.InsertItem(i, msg); 
		msg.Format(_T("%06d"), TM_PSET_PTR+i+400001);
		list.SetItemText(i, 1, msg);
		msg.Format(_T("%06d"), TM_CURR_PTR+i+400001);
		list.SetItemText(i, 3, msg);
		msg.Format(_T("%06d"), TM_BIT_PTR+i+1);
		list.SetItemText(i, 5, msg);
		display_TAG(&list, TM_PSET_TYPE, i); 
	}	
}

void CTAGView::OnUpdateViewTimer(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
if(DSPTAG_Flag[8]==1)
   pCmdUI->Enable(false);
else
   pCmdUI->Enable(true);		
	
}

void CTAGView::OnViewCounter() 
{
	// TODO: Add your command handler code here
	memset(DSPTAG_Flag, 0, sizeof(DSPTAG_Flag));
	DSPTAG_Flag[9]= 1;
	
   CListCtrl& list = GetListCtrl();
   list.DeleteAllItems();
   while( list.DeleteColumn( 0 ) )
      ;

// set checkbox and full-line
//   m_list1.SetExtendedStyle( LVS_EX_CHECKBOXES | LVS_EX_FULLROWSELECT);   
   list.SetExtendedStyle(LVS_EX_FULLROWSELECT);   

   list.InsertColumn( COLUMN_TYPE,  _T("TAG Type"), LVCFMT_LEFT, 90, 0 );
   list.InsertColumn( COLUMN_ADDR, _T("Modbus"), LVCFMT_LEFT, 60, 1 );
   list.InsertColumn( COLUMN_ENG ,  _T("Preset"), LVCFMT_LEFT, 60, 2 );
   list.InsertColumn( COLUMN_HHBIT,  _T("Modbus"), LVCFMT_LEFT, 60, 3 );
   list.InsertColumn( COLUMN_HBIT, _T("Current"), LVCFMT_LEFT, 60, 4 );
   list.InsertColumn( COLUMN_LBIT,  _T("Modbus"), LVCFMT_LEFT, 60, 5 );
   list.InsertColumn( COLUMN_LLBIT, _T("Contact"), LVCFMT_LEFT, 60, 6 );

  	CString  msg;
	int i;
	for(i=0; i<CT_MAX_CASE; i++)
	{
		msg.Format(_T("Counter"));
		list.InsertItem(i, msg); 
		msg.Format(_T("%06d"), CN_PSET_PTR+i+400001);
		list.SetItemText(i, 1, msg);
		msg.Format(_T("%06d"), CN_CURR_PTR+i+400001);
		list.SetItemText(i, 3, msg);
		msg.Format(_T("%06d"), CN_BIT_PTR+i+1);
		list.SetItemText(i, 5, msg);
		display_TAG(&list, CN_PSET_TYPE, i); 
	}	
}

void CTAGView::OnUpdateViewCounter(CCmdUI* pCmdUI) 
{
	// TODO: Add your command update UI handler code here
if(DSPTAG_Flag[9]==1)
   pCmdUI->Enable(false);
else
   pCmdUI->Enable(true);		
	
}

void CTAGView::OnDblclk(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
//------- add by Yeh -------------------
	int tag_def, idx, count;

	CListCtrl& list = GetListCtrl();
	count= list.GetItemCount();  // total count
	POSITION  pos;
	pos= list.GetFirstSelectedItemPosition();	
	if(pos != NULL)  // mouse item string

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -