📄 zibian1dlg.cpp
字号:
GetDlgItem(IDC_RECV1)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_RECV2)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_RECV3)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_RECV4)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_RECV5)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_RECV6)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_RECVEDIT1)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_RECVEDIT2)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_RECVEDIT3)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_RECVEDIT4)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_RECVEDIT5)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_RECVEDIT6)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_STATICy1)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_STATICy2)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_STATICy3)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_STATICy4)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_STATICy5)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_STATICy6)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_dianya1)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_dianya2)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_dianya3)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_dianya4)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_dianya5)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_dianya6)->ShowWindow(SW_SHOW);
/* GetDlgItem(IDC_RECVEDIT1)->EnableWindow(FALSE);
GetDlgItem(IDC_RECVEDIT2)->EnableWindow(FALSE);
GetDlgItem(IDC_RECVEDIT3)->EnableWindow(FALSE);
GetDlgItem(IDC_RECVEDIT4)->EnableWindow(FALSE);
GetDlgItem(IDC_RECVEDIT5)->EnableWindow(FALSE);
GetDlgItem(IDC_RECVEDIT6)->EnableWindow(FALSE);
GetDlgItem(IDC_dianya1)->EnableWindow(FALSE);
GetDlgItem(IDC_dianya2)->EnableWindow(FALSE);
GetDlgItem(IDC_dianya3)->EnableWindow(FALSE);
GetDlgItem(IDC_dianya4)->EnableWindow(FALSE);
GetDlgItem(IDC_dianya5)->EnableWindow(FALSE);
GetDlgItem(IDC_dianya6)->EnableWindow(FALSE);*/
}
//DEL void CZibian1Dlg::OnKillfocusEdit1()
//DEL {
//DEL // TODO: Add your control notification handler code here
//DEL ShowWindow(SW_HIDE);
//DEL
//DEL }
BEGIN_EVENTSINK_MAP(CZibian1Dlg, CDialog)
//{{AFX_EVENTSINK_MAP(CZibian1Dlg)
ON_EVENT(CZibian1Dlg, IDC_MSCOMM1, 1 /* OnComm */, OnOnCommMscomm1, VTS_NONE)
//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()
void CZibian1Dlg::OnOnCommMscomm1()
{
// TODO: Add your control notification handler code here
VARIANT variant_inp;
COleSafeArray safearray_inp;
LONG len,k;
BYTE rxdata[19] = {0};//设置BYTE数组 An 8-bit integer that is not signed.
CString str;
switch(m_comm.GetCommEvent())
{
case 1: // comEvSend发送数据
break;
case 2: // comEvReceive读取数据
// MessageBox(_T("读取数据事件"), _T("TRACE"), MB_OK);
Sleep(20);
variant_inp=m_comm.GetInput(); //读缓冲区
safearray_inp=variant_inp; //VARIANT型变量转换为ColeSafeArray型变量
len=safearray_inp.GetOneDimSize(); //得到有效数据长度
/*if (len==2)
{
// 接受数据
for(k=0; k<len; k++)
{
safearray_inp.GetElement(&k,rxdata+k); //转换为BYTE型数组
}
TRACE("receiver data is %x %x \n",rxdata[0],rxdata[1]);
}*/
//if (len==12)
//{
// 接受数据
for(k=0; k<len; k++)
{
safearray_inp.GetElement(&k,rxdata+k); //转换为BYTE型数组
}
if ((rxdata[0]=='r') && (rxdata[18] == 13))
{
int num=(rxdata[1]-48)*10 + (rxdata[2]-48);
myshow[num].count = TRUE;
myshow[num].reptNum = 0;
myshow[num].dianya=(rxdata[4]-48)*10 + (rxdata[5]-48) + (rxdata[7]-48)*0.1;
myshow[num].dianliu=(rxdata[10]-48)*100 + (rxdata[11]-48)*10 + (rxdata[12]-48) + (rxdata[14]-48)*0.1;
}
//}
break;
default: // 传输事件出错
m_comm.SetOutBufferCount(0); //清空发送缓冲区
break;
}
}
void CZibian1Dlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
static int reptNum = 0;
if (1== nIDEvent)
{
int k=0;
CString str;
for(int i=0;i<100;i++)
{
if(myshow[i].count==TRUE)
{
k++;
if (k == 1)
{
str.Format("%d",i);
m_valNum1 = str;
m_valNum2 = "无设备";
m_valNum3 = "无设备";
m_valNum4 = "无设备";
m_valNum5 = "无设备";
m_valNum6 = "无设备";
m_valRecv1=myshow[i].dianliu;
m_dy1=myshow[i].dianya;
m_valRecv2=0;
m_dy2=0;
m_valRecv3=0;
m_dy3=0;
m_valRecv4=0;
m_dy4=0;
m_valRecv5=0;
m_dy5=0;
m_valRecv6=0;
m_dy6=0;
}
if (k == 2)
{
str.Format("%d",i);
m_valNum2 = str;
m_valNum3 = "无设备";
m_valNum4 = "无设备";
m_valNum5 = "无设备";
m_valNum6 = "无设备";
m_valRecv2=myshow[i].dianliu;
m_dy2=myshow[i].dianya;
m_valRecv3=0;
m_dy3=0;
m_valRecv4=0;
m_dy4=0;
m_valRecv5=0;
m_dy5=0;
m_valRecv6=0;
m_dy6=0;
}
if (k == 3)
{
str.Format("%d",i);
m_valNum3 = str;
m_valNum4 = "无设备";
m_valNum5 = "无设备";
m_valNum6 = "无设备";
m_valRecv3=myshow[i].dianliu;
m_dy3=myshow[i].dianya;
m_valRecv4=0;
m_dy4=0;
m_valRecv5=0;
m_dy5=0;
m_valRecv6=0;
m_dy6=0;
}
if (k == 4)
{
str.Format("%d",i);
m_valNum4 = str;
m_valNum5 = "无设备";
m_valNum6 = "无设备";
m_valRecv4=myshow[i].dianliu;
m_dy4=myshow[i].dianya;
m_valRecv5=0;
m_dy5=0;
m_valRecv6=0;
m_dy6=0;
}
if (k == 5)
{
str.Format("%d",i);
m_valNum5 = str;
m_valNum6 = "无设备";
m_valRecv5=myshow[i].dianliu;
m_dy5=myshow[i].dianya;
m_valRecv6=0;
m_dy6=0;
}
if (k == 6)
{
str.Format("%d",i);
m_valNum6 = str;
m_valRecv6=myshow[i].dianliu;
m_dy6=myshow[i].dianya;
}
}
}
UpdateData(FALSE);
if(k==0)
{
m_valNum1 ="无设备";
m_valNum2 = "无设备";
m_valNum3 = "无设备";
m_valNum4 = "无设备";
m_valNum5 = "无设备";
m_valNum6 = "无设备";
m_valRecv1=0;
m_dy1=0;
m_valRecv2=0;
m_dy2=0;
m_valRecv3=0;
m_dy3=0;
m_valRecv4=0;
m_dy4=0;
m_valRecv5=0;
m_dy5=0;
m_valRecv6=0;
m_dy6=0;
UpdateData(FALSE);
}
CByteArray buff;
buff.SetSize(9);
if (m_num == 100)
{
CDialog::OnTimer(nIDEvent);
m_num = 0;
return;
}
while((myshow[m_num].count == FALSE) && (m_num<100))
{
m_num++;
}
if (m_num<100)
{
buff[0] = 'w';
buff[1] = 's';
buff[2] = m_num/10 + 48;//call each unit;
buff[3] = m_num%10 + 48;
char strbuff[6];
sprintf(strbuff,"%.1f",myshow[m_num].setdianliu);
if (myshow[m_num].setdianliu < 10)
{
buff[4] = '0';
buff[5] = '0';
buff[6] = strbuff[0];
buff[7] = strbuff[2];
}
else if ((10 <= myshow[m_num].setdianliu) && ( myshow[m_num].setdianliu < 100))
{
buff[4] = '0';
buff[5] = strbuff[0];
buff[6] = strbuff[1];
buff[7] = strbuff[3];
}
else
{
buff[4] = strbuff[0];
buff[5] = strbuff[1];
buff[6] = strbuff[2];
buff[7] = strbuff[4];
}
buff[8] = 13;
if (10 == myshow[m_num].reptNum)
{
myshow[m_num].count = FALSE;
myshow[m_num].reptNum = 0;
}
myshow[m_num].reptNum++;
m_num++;
m_comm.SetOutput(COleVariant(buff));
}
}
if (2 == nIDEvent)
{
static int num = 0;
CByteArray buff;
buff.SetSize(5);
buff[0] = 'w';
buff[1] = 'r';
buff[2] = num/10 + 48;
buff[3] = num%10 + 48;
buff[4] = 13;
m_comm.SetOutput(COleVariant(buff));
num++;
if (6 == num)
num = 0;
}
CDialog::OnTimer(nIDEvent);
}
void CZibian1Dlg::OnJiazai()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
if(m_valNum1 != "无设备")
{
int i;
i=atoi(m_valNum1);
myshow[i].setdianliu = m_dl1;
}
if(m_valNum2 != "无设备")
{
int i;
i=atoi(m_valNum2);
myshow[i].setdianliu = m_dl2;
}
if(m_valNum3!= "无设备")
{
int i;
i=atoi(m_valNum3);
myshow[i].setdianliu = m_dl3;
}
if(m_valNum4 != "无设备")
{
int i;
i=atoi(m_valNum4);
myshow[i].setdianliu = m_dl4;
}
if(m_valNum5 != "无设备")
{
int i;
i=atoi(m_valNum5);
myshow[i].setdianliu = m_dl5;
}
if(m_valNum6 != "无设备")
{
int i;
i=atoi(m_valNum6);
myshow[i].setdianliu = m_dl6;
}
SetTimer(1,300,NULL);
GetDlgItem(IDC_dianliu1)->EnableWindow(FALSE);
GetDlgItem(IDC_dianliu2)->EnableWindow(FALSE);
GetDlgItem(IDC_dianliu3)->EnableWindow(FALSE);
GetDlgItem(IDC_dianliu4)->EnableWindow(FALSE);
GetDlgItem(IDC_dianliu5)->EnableWindow(FALSE);
GetDlgItem(IDC_dianliu6)->EnableWindow(FALSE);
}
HBRUSH CZibian1Dlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: Change any attributes of the DC here
if (CTLCOLOR_EDIT == nCtlColor)
pDC->SetTextColor(RGB(255,0,0));
// TODO: Return a different brush if the default is not desired
return hbr;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -