📄 tagview.cpp
字号:
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 + -