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

📄 moinorcentredlg.cpp

📁 无线图象监控系统(用VC++编程)用数据库ACCESS存储图象
💻 CPP
📖 第 1 页 / 共 3 页
字号:
		{
	    GetDlgItem(ID_PIC[i])->SetWindowText("无画面");	
		}
		   else
		   {GetDlgItem(ID_PIC[i])->SetWindowText(ninesitename[i]);
			  CDC* dc;
			  dc=GetDlgItem(ID_PIC[i])->GetDC();
			  CRect rec;
			GetDlgItem(ID_PIC[i])->GetClientRect(rec);
			fourdib[i].Display(dc,10,10,rec.Width()-10,rec.Height()-10,0,0,ninedib[i].GetWidth(),ninedib[i].GetHeight());
             ReleaseDC(dc);
		   }
		}	
                 
			
	         
	
		break;
					}
	case NineDsplay:{
		GetDlgItem(ID_PICTURE)->ShowWindow(SW_HIDE);
		for(int i=0;i<9;i++)
		{GetDlgItem(ID_PIC[i])->Invalidate();
                   GetDlgItem(ID_PIC[i])->ShowWindow(SW_SHOW);
		}
		for(i=0;i<4;i++)
GetDlgItem(ID_PIC[i])->MoveWindow(picrec[i]);
		for(i=0;i<9;i++)
		{
		if(ninedib[i].m_hDib==NULL)
          GetDlgItem(ID_PIC[i])->SetWindowText("无画面");
		        else
				{
			GetDlgItem(ID_PIC[i])->SetWindowText(ninesitename[i]);
			  CDC* dc;
			  dc=GetDlgItem(ID_PIC[i])->GetDC();
			  CRect rec;
			GetDlgItem(ID_PIC[i])->GetClientRect(rec);
			ninedib[i].Display(dc,10,10,rec.Width()-10,rec.Height()-10,0,0,ninedib[i].GetWidth(),ninedib[i].GetHeight());
             ReleaseDC(dc);
				}
	
		}
		break;
					}
	case TurnAll:{
		GetDlgItem(ID_PICTURE)->ShowWindow(SW_HIDE);
         for(int i=1;i<9;i++)
	        GetDlgItem(ID_PIC[i])->ShowWindow(SW_HIDE);
          GetDlgItem(ID_PIC[0])->ShowWindow(SW_SHOW);
			GetDlgItem(ID_PIC[0])->SetWindowText(onesitename);
			  CDC* dc;
			  dc=GetDlgItem(ID_PIC[0])->GetDC();
			  CRect rec;
			GetDlgItem(ID_PIC[0])->GetClientRect(rec);
			int width=onedib.GetWidth();
			int height=onedib.GetHeight();
	          CRect rect;
            GetDlgItem(ID_PICTURE)->GetWindowRect(rect);
            ScreenToClient(&rect); 
			int widthsub=(rect.Width()-width-5)/2;
			int heightsub=(rect.Height()-height-5)/2;
          rect.DeflateRect(widthsub,heightsub);
        GetDlgItem(ID_PIC[0])->MoveWindow(rect);
	onedib.Display(dc,0,0);
        ReleaseDC(dc);
		break;
				 }
	}
	return 0;
} 	 

void CMoinorCentreDlg::OnCaptureChanged(CWnd *pWnd) 
{
	// TODO: Add your message handler code here
	
	CDialog::OnCaptureChanged(pWnd);
PostMessage(WM_DRAW,externi,0);
}

void CMoinorCentreDlg::OnDatabase() 
{
	datebase.Create(IDD_DATABASEACCESS,this);	
	datebase.ShowWindow(SW_SHOW);
	
}

void CMoinorCentreDlg::OnRadio1() 
{
  CString is;
SiteNum.RemoveAll();
for(int j=0;j<m_comb2.GetCount();j++)
	{
	m_comb2.GetLBText(j,is);
	SiteNum.Add((BYTE)atoi(is));
	}
	if(mst.monitortype==AllMonitor)
		AfxMessageBox("已经处于轮询状态");
	else
	{
		
		
		mst.monitortype=AllMonitor;
		siteidindex=0;
		if(!mst.busy)
		{
		PostMessage(WM_SEND,mode0,SiteNum.GetAt(siteidindex));
        mst.busy=TRUE;
		}
	}	
}

void CMoinorCentreDlg::OnRadio2() 
{
mst.monitortype=SomeMonitor;
siteidindex=0;
if(multdialog.DoModal()==IDOK)
{if(!mst.busy)
PostMessage(WM_SEND,mode0,SiteNum.GetAt(siteidindex));
 mst.busy=TRUE;
}

}

void CMoinorCentreDlg::OnRadio3() 
{
mst.monitortype=OneMonitor;
	Cpicnum	picnum1;// TODO: Add your control notification handler code here
picnum1.DoModal();	
   CString ss;
ss.Format("picnummode=%d",picnummode);
AfxMessageBox(ss);
	AfxMessageBox("请选择监控点");	
}

void CMoinorCentreDlg::OnSelendokCombo2() 
{
if(mst.monitortype==OneMonitor)
{
	UpdateData();
//AfxMessageBox(m_siteid);
  
    SiteNum.RemoveAll();
	SiteNum.Add(atoi(m_siteid));
siteidindex=0;
if(!mst.busy)
PostMessage(WM_SEND,mode0,SiteNum.GetAt(siteidindex));
 mst.busy=TRUE;	// TODO: Add your control notification handler code here
}		
}

void CMoinorCentreDlg::OnPicset() 
{
	picset picset1;
if(picset1.DoModal()==IDOK)
{	CString dd;
	dd.Format("%x",picmode);
 AfxMessageBox(dd);
	
}	
}

//DEL BOOL CMoinorCentreDlg::OnMouseWheel(UINT nFlags, short zDelta, CPoint pt) 
//DEL {
//DEL 	// TODO: Add your message handler code here and/or call default
//DEL 
//DEL 
//DEL 	return CDialog::OnMouseWheel(nFlags, zDelta, pt);
//DEL }

//DEL BOOL CMoinorCentreDlg::PreTranslateMessage(MSG* pMsg) 
//DEL {
//DEL switch(pMsg->message)
//DEL {
//DEL case WM_MOUSEWHEEL:
//DEL {
//DEL int k;
//DEL m_slider2.GetTicPos(k);
//DEL CString kk;
//DEL kk.Format("%d",k);
//DEL GetDC()->TextOut(100,100,kk);
//DEL }break;
//DEL }
//DEL 	
//DEL 	return CDialog::PreTranslateMessage(pMsg);
//DEL }


void CMoinorCentreDlg::OnOne() 
{
DisplayMode=TurnAll;
	PostMessage(WM_DRAW,externi,100);	
}

void CMoinorCentreDlg::OnFour() 
{
DisplayMode=FourDsplay;
	PostMessage(WM_DRAW,externi,100);	
}

void CMoinorCentreDlg::OnNine() 
{
	DisplayMode=NineDsplay;
	PostMessage(WM_DRAW,externi,100);	
}

void CMoinorCentreDlg::OnZoom() 
{
	DisplayMode=OneZoom;
	
	PostMessage(WM_DRAW,externi,100);
	// TODO: Add your control notification handler code here	
}

void CMoinorCentreDlg::OnMove(int x, int y) 
{
	CDialog::OnMove(x, y);
	if(intosize)
	{
PostMessage(WM_DRAW,externi,SiteNum.GetAt(siteidindex));
	}
	
}

//DEL void CMoinorCentreDlg::OnButton3() 
//DEL {
//DEL 
//DEL }

void CMoinorCentreDlg::OnSclose() 
{CString name;
m_sclose.GetWindowText(name);
	if(name=="关闭串口")
	{//m_bSerialPort.StopMonitoring();
	 m_bSerialPort.ClosePort();
	 mst.busy=FALSE;
     state=idle;
      CS=0;
      siteidindex=0;
       externi=0;
	m_bcomOpened=FALSE;
m_sclose.SetWindowText("打开串口");
	}
else
{
	if(!m_bSerialPort.InitPort(this,currentport,buad,p,databit,stopbit,EV_RXFLAG|EV_RXCHAR,1024))
    AfxMessageBox("串口被占用");
 else
 {
	m_bSerialPort.StartMonitoring();
	m_bcomOpened=TRUE;


m_sclose.SetWindowText("关闭串口");
 }
}
}


void CMoinorCentreDlg::OnCustomdrawSlider4(NMHDR* pNMHDR, LRESULT* pResult) 
{
*pResult = 0;

 }
	
	



void CMoinorCentreDlg::OnCustomdrawSlider1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	int k=m_slider4.GetPos();//获得亮度
CString kk;
kk.Format("%d",k);
AfxMessageBox(kk);
	
	*pResult = 0;
}

void CMoinorCentreDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 
{int k=((CMacSliderCtrl*)pScrollBar)->GetPos();//获得亮度

int id=((CMacSliderCtrl*)pScrollBar)->GetDlgCtrlID();
switch(id)
{//switchid
case IDC_SLIDER4:
{//case IDC_SLIDER4:
CString kk;
kk.Format("%d",k);
GetDlgItem(ID_LUMIN)->SetWindowText(kk);
	 CRect rec;
    GetDlgItem(ID_LUMIN)->GetWindowRect(rec);
ScreenToClient(&rec);
this->InvalidateRect(&rec);

 switch(DisplayMode)
 {
 case OneZoom:{if(onedib.m_hDib)
			{
	            onedib.AdjustBrightness(k);
         PostMessage(WM_DRAW,externi,SiteNum.GetAt(siteidindex));
			}
			break;
	}
	case FourDsplay:{for(int i=0;i<4;i++)
					{
						if(fourdib[i].m_hDib)
						{fourdib[i].AdjustBrightness(k);
						
						}
					}
  PostMessage(WM_DRAW,externi,SiteNum.GetAt(siteidindex));
		break;
					}
	case NineDsplay:{for(int i=0;i<9;i++)
					{
						if(ninedib[i].m_hDib)
						{ninedib[i].AdjustBrightness(k);
						  
						}
             
					}
             PostMessage(WM_DRAW,externi,SiteNum.GetAt(siteidindex));
	
		     break;
					}
	case TurnAll:{if(onedib.m_hDib)
			{
	 onedib.AdjustBrightness(k);
         PostMessage(WM_DRAW,externi,SiteNum.GetAt(siteidindex));
			}
			break;
		
				 }
	}
 break;
}//case IDC_SLIDER4:
case IDC_SLIDER2:{//IDC_SLIDER2
CString kk;
kk.Format("%d",k);
GetDlgItem(ID_CONTRAST)->SetWindowText(kk);
	 CRect rec;
    GetDlgItem(ID_CONTRAST)->GetWindowRect(rec);
ScreenToClient(&rec);
this->InvalidateRect(&rec);

                     switch(DisplayMode)
 {
 case OneZoom:{if(onedib.m_hDib)
			{
	            onedib.AdjustContrast(k);
         PostMessage(WM_DRAW,externi,SiteNum.GetAt(siteidindex));
			}
			break;
	}
	case FourDsplay:{for(int i=0;i<4;i++)
					{
						if(fourdib[i].m_hDib)
						{fourdib[i].AdjustContrast(k);
						
						}
					}
  PostMessage(WM_DRAW,externi,SiteNum.GetAt(siteidindex));
		break;
					}
	case NineDsplay:{for(int i=0;i<9;i++)
					{
						if(ninedib[i].m_hDib)
						{ninedib[i].AdjustContrast(k);
						  
						}
             
					}
             PostMessage(WM_DRAW,externi,SiteNum.GetAt(siteidindex));
	
		     break;
					}
	case TurnAll:{if(onedib.m_hDib)
			{
	 onedib.AdjustContrast(k);
         PostMessage(WM_DRAW,externi,SiteNum.GetAt(siteidindex));
			}
			break;
		
				 }

	                }
			break;
				 }//IDC_SLIDER2
}//switch id
	CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
}

void CMoinorCentreDlg::OnSset() 
{
CSerialDlg sset;

if(IDOK==sset.DoModal())
{		m_bSerialPort.ClosePort();
		 mst.busy=FALSE;
			state=idle;
			CS=0;
			siteidindex=0;
			externi=0;
			m_bcomOpened=FALSE;
			char port=sset.m_sport.GetAt(3);
			CString name;
			m_sclose.GetWindowText(name);
		if(name=="关闭串口")
			{
				if(
					!m_bSerialPort.InitPort(this,atoi(&port),
                            atoi(sset.m_sBaud),sset.m_sParity[0],
							atoi(sset.m_sDataBits),atoi(sset.m_sStopbit),
							EV_RXFLAG|EV_RXCHAR,1024))
					 AfxMessageBox("串口被占用");
				else
				{
				m_bSerialPort.StartMonitoring();
				m_bcomOpened=TRUE;
				}

				}//name=="关闭串口"

				else
				{currentport=port;
					buad=atoi(sset.m_sBaud);
					stopbit=atoi(sset.m_sStopbit);
						databit=atoi(sset.m_sDataBits);
						p=sset.m_sParity[0];
				}
}

}

void CMoinorCentreDlg::OnIntellec() 
{
CDectectSet set;	// TODO: Add your control notification handler code here
	set.DoModal();
}

void CMoinorCentreDlg::OnReset() 
{
mst.busy=FALSE;
     state=idle;
      CS=0;
     siteidindex=0;
     externi=0;	// TODO: Add your control notification handler code here
	
}

void CMoinorCentreDlg::OnButton2() 
{
this->Invalidate();
}

void CMoinorCentreDlg::OnTimer(UINT nIDEvent) 
{
switch(nIDEvent)
{
case 1:SetProcessWorkingSetSize(GetCurrentProcess(),20000,25000);
	    break;
case 2: {if(alarmid<10)
		{
	if(m_alarm[alarmid].IsWindowEnabled())
			m_alarm[alarmid].EnableWindow(FALSE);
			else
			{
			m_alarm[alarmid].EnableWindow(TRUE);
			m_alarm[alarmid].SetIcon(IDI_RED);
			}
		}
	   
        
		}
}
	CDialog::OnTimer(nIDEvent);
}

⌨️ 快捷键说明

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