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

📄 dlgsms.cpp

📁 串口收发工具
💻 CPP
📖 第 1 页 / 共 2 页
字号:
		if (rcTitle.PtInRect(point))
		{
			((CStatic *)GetDlgItem(IDC_STATIC_DOWN_NORMAL))->ShowWindow(SW_HIDE);
			((CStatic *)GetDlgItem(IDC_STATIC_DOWN_CLICK))->ShowWindow(SW_SHOW);
			((CStatic *)GetDlgItem(IDC_STATIC_DOWN_MOUSEMOVE))->ShowWindow(SW_HIDE);
			((CStatic *)GetDlgItem(IDC_STATIC_UP_NORMAL))->ShowWindow(SW_HIDE);
			((CStatic *)GetDlgItem(IDC_STATIC_UP_CLICK))->ShowWindow(SW_HIDE);
			((CStatic *)GetDlgItem(IDC_STATIC_UP_MOUSEMOVE))->ShowWindow(SW_HIDE);
			//bExpand = FALSE;
		}
		if (rcBasic.PtInRect(point))
			byCurOperate = 1;
		if (rcTelno.PtInRect(point))
			byCurOperate = 2;
		
		SwitchDlgItem(byCurOperate);
	}
	else
	{
		if (rcTitle.PtInRect(point))
		{
			((CStatic *)GetDlgItem(IDC_STATIC_DOWN_NORMAL))->ShowWindow(SW_HIDE);
			((CStatic *)GetDlgItem(IDC_STATIC_DOWN_CLICK))->ShowWindow(SW_HIDE);
			((CStatic *)GetDlgItem(IDC_STATIC_DOWN_MOUSEMOVE))->ShowWindow(SW_HIDE);
			((CStatic *)GetDlgItem(IDC_STATIC_UP_NORMAL))->ShowWindow(SW_HIDE);
			((CStatic *)GetDlgItem(IDC_STATIC_UP_CLICK))->ShowWindow(SW_SHOW);
			((CStatic *)GetDlgItem(IDC_STATIC_UP_MOUSEMOVE))->ShowWindow(SW_HIDE);
			//bExpand = true;
		}
		else
		{}
	}
	
	
	CDialog::OnLButtonDown(nFlags, point);
}

void CDlgSms::OnMouseMove(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	
	if (nFlags != MK_LBUTTON) 
		{
		
		CRect rcBack,rcTitle,rcBasic,rcTelno;
		((CStatic *)GetDlgItem(IDC_STATIC_BACK_LEFT))->GetWindowRect(rcBack);
		((CStatic *)GetDlgItem(IDC_STATIC_UP_NORMAL))->GetWindowRect(rcTitle);
		((CStatic *)GetDlgItem(IDC_STATIC_BASIC_SETUP1))->GetWindowRect(rcBasic);
		((CStatic *)GetDlgItem(IDC_STATIC_TELNO_SETUP1))->GetWindowRect(rcTelno);
		ScreenToClient(rcBasic);ScreenToClient(rcTelno);ScreenToClient(rcBack);ScreenToClient(rcTitle);
		if (bExpand) 
		{
			if (rcBasic.PtInRect(point)) {
				((CStatic *)GetDlgItem(IDC_STATIC_BASIC_SETUP1))->ShowWindow(SW_HIDE);
				((CStatic *)GetDlgItem(IDC_STATIC_BASIC_SETUP2))->ShowWindow(SW_SHOW);
			}
			else
			{
				((CStatic *)GetDlgItem(IDC_STATIC_BASIC_SETUP1))->ShowWindow(SW_SHOW);
				((CStatic *)GetDlgItem(IDC_STATIC_BASIC_SETUP2))->ShowWindow(SW_HIDE);
			}
			if (rcTelno.PtInRect(point)) {
				((CStatic *)GetDlgItem(IDC_STATIC_TELNO_SETUP1))->ShowWindow(SW_HIDE);
				((CStatic *)GetDlgItem(IDC_STATIC_TELNO_SETUP2))->ShowWindow(SW_SHOW);
			}
			else
			{
				((CStatic *)GetDlgItem(IDC_STATIC_TELNO_SETUP1))->ShowWindow(SW_SHOW);
				((CStatic *)GetDlgItem(IDC_STATIC_TELNO_SETUP2))->ShowWindow(SW_HIDE);
			}
			if (rcTitle.PtInRect(point)) 
			{
				((CStatic *)GetDlgItem(IDC_STATIC_DOWN_NORMAL))->ShowWindow(SW_HIDE);
				((CStatic *)GetDlgItem(IDC_STATIC_DOWN_CLICK))->ShowWindow(SW_HIDE);
				((CStatic *)GetDlgItem(IDC_STATIC_DOWN_MOUSEMOVE))->ShowWindow(SW_SHOW);
				((CStatic *)GetDlgItem(IDC_STATIC_UP_NORMAL))->ShowWindow(SW_HIDE);
				((CStatic *)GetDlgItem(IDC_STATIC_UP_CLICK))->ShowWindow(SW_HIDE);
				((CStatic *)GetDlgItem(IDC_STATIC_UP_MOUSEMOVE))->ShowWindow(SW_HIDE);
			}
			else
			{
				((CStatic *)GetDlgItem(IDC_STATIC_DOWN_NORMAL))->ShowWindow(SW_SHOW);
				((CStatic *)GetDlgItem(IDC_STATIC_DOWN_CLICK))->ShowWindow(SW_HIDE);
				((CStatic *)GetDlgItem(IDC_STATIC_DOWN_MOUSEMOVE))->ShowWindow(SW_HIDE);
				((CStatic *)GetDlgItem(IDC_STATIC_UP_NORMAL))->ShowWindow(SW_HIDE);
				((CStatic *)GetDlgItem(IDC_STATIC_UP_CLICK))->ShowWindow(SW_HIDE);
				((CStatic *)GetDlgItem(IDC_STATIC_UP_MOUSEMOVE))->ShowWindow(SW_HIDE);
			}
		}
		else
		{
			((CStatic *)GetDlgItem(IDC_STATIC_BASIC_SETUP1))->ShowWindow(SW_HIDE);
			((CStatic *)GetDlgItem(IDC_STATIC_TELNO_SETUP1))->ShowWindow(SW_HIDE);
			((CStatic *)GetDlgItem(IDC_STATIC_BASIC_SETUP2))->ShowWindow(SW_HIDE);
			((CStatic *)GetDlgItem(IDC_STATIC_TELNO_SETUP2))->ShowWindow(SW_HIDE);
			
			if (rcTitle.PtInRect(point)) 
			{
				((CStatic *)GetDlgItem(IDC_STATIC_DOWN_NORMAL))->ShowWindow(SW_HIDE);
				((CStatic *)GetDlgItem(IDC_STATIC_DOWN_CLICK))->ShowWindow(SW_HIDE);
				((CStatic *)GetDlgItem(IDC_STATIC_DOWN_MOUSEMOVE))->ShowWindow(SW_HIDE);
				((CStatic *)GetDlgItem(IDC_STATIC_UP_NORMAL))->ShowWindow(SW_HIDE);
				((CStatic *)GetDlgItem(IDC_STATIC_UP_CLICK))->ShowWindow(SW_HIDE);
				((CStatic *)GetDlgItem(IDC_STATIC_UP_MOUSEMOVE))->ShowWindow(SW_SHOW);
			}
			else
			{
				((CStatic *)GetDlgItem(IDC_STATIC_DOWN_NORMAL))->ShowWindow(SW_HIDE);
				((CStatic *)GetDlgItem(IDC_STATIC_DOWN_CLICK))->ShowWindow(SW_HIDE);
				((CStatic *)GetDlgItem(IDC_STATIC_DOWN_MOUSEMOVE))->ShowWindow(SW_HIDE);
				((CStatic *)GetDlgItem(IDC_STATIC_UP_NORMAL))->ShowWindow(SW_SHOW);
				((CStatic *)GetDlgItem(IDC_STATIC_UP_CLICK))->ShowWindow(SW_HIDE);
				((CStatic *)GetDlgItem(IDC_STATIC_UP_MOUSEMOVE))->ShowWindow(SW_HIDE);
			}
		}
		}
	
	
	CDialog::OnMouseMove(nFlags, point);
}

void CDlgSms::OnDestroy() 
{
	CDialog::OnDestroy();
	
	// TODO: Add your message handler code here
	m_brush.DeleteObject();
	m_font.DeleteObject();
}

void CDlgSms::OnTimer(UINT nIDEvent) 
{
	// TODO: Add your message handler code here and/or call default
	if (nIDEvent == 1)
	{
		if (!bReceiveSmsInfo) 
		{
			if (bSmsTimer>=5) {
				KillTimer(1);
				bSmsTimer = 0;
				bReceiveSmsInfo = false;
				SetupSmsReturn(-1);
			}
			else
			{
				((CMainFrame*)AfxGetMainWnd())->CallSMS();
				bSmsTimer++;	
			}
		}
		else
			KillTimer(1);
	}
	if (nIDEvent == 2)
	{
		if(!bSetUpRtn)
		{
			KillTimer(2);
			m_ReturnInfo = _T("参数设置无返回!");
			RedrawWindow(rcInfo);
		}
	}
	CDialog::OnTimer(nIDEvent);
}

void CDlgSms::OnLButtonUp(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	CRect rcTitle;
	((CStatic *)GetDlgItem(IDC_STATIC_UP_NORMAL))->GetWindowRect(rcTitle);
	ScreenToClient(rcTitle);
	if (bExpand) 
	{
		if (rcTitle.PtInRect(point)) 
		{
			((CStatic *)GetDlgItem(IDC_STATIC_DOWN_NORMAL))->ShowWindow(SW_HIDE);
			((CStatic *)GetDlgItem(IDC_STATIC_DOWN_CLICK))->ShowWindow(SW_HIDE);
			((CStatic *)GetDlgItem(IDC_STATIC_DOWN_MOUSEMOVE))->ShowWindow(SW_HIDE);
			((CStatic *)GetDlgItem(IDC_STATIC_UP_NORMAL))->ShowWindow(SW_SHOW);
			((CStatic *)GetDlgItem(IDC_STATIC_UP_CLICK))->ShowWindow(SW_HIDE);
			((CStatic *)GetDlgItem(IDC_STATIC_UP_MOUSEMOVE))->ShowWindow(SW_HIDE);
			bExpand = false;
		}
		else
		{}
	}
	else
	{
		if (rcTitle.PtInRect(point)) 
		{
			((CStatic *)GetDlgItem(IDC_STATIC_DOWN_NORMAL))->ShowWindow(SW_SHOW);
			((CStatic *)GetDlgItem(IDC_STATIC_DOWN_CLICK))->ShowWindow(SW_HIDE);
			((CStatic *)GetDlgItem(IDC_STATIC_DOWN_MOUSEMOVE))->ShowWindow(SW_HIDE);
			((CStatic *)GetDlgItem(IDC_STATIC_UP_NORMAL))->ShowWindow(SW_HIDE);
			((CStatic *)GetDlgItem(IDC_STATIC_UP_CLICK))->ShowWindow(SW_HIDE);
			((CStatic *)GetDlgItem(IDC_STATIC_UP_MOUSEMOVE))->ShowWindow(SW_HIDE);
			bExpand = true;
		}
		else
		{}
	}
	CDialog::OnLButtonUp(nFlags, point);
}
void CDlgSms::DrawBitmap(HDC hDC, int nX, int nY, UINT nID)
{
	HBITMAP hBitmap,hOldBitmap;
	hBitmap = (HBITMAP)LoadImage(AfxGetInstanceHandle(),MAKEINTRESOURCE(nID),IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION);
	BITMAP bm;
	GetObject(hBitmap,sizeof(BITMAP),&bm);
	HDC hMemDC = CreateCompatibleDC(hDC);
	hOldBitmap = (HBITMAP)SelectObject(hMemDC,hBitmap);

	BitBlt(hDC,nX,nY,bm.bmWidth,bm.bmHeight,hMemDC,0,0,SRCCOPY);
	SelectObject(hMemDC,hOldBitmap);
	DeleteDC(hMemDC);
	DeleteObject(hBitmap);
}
void CDlgSms::OnPaint() 
{
	CPaintDC dc(this); // device context for painting

	//画右边紫色背景
	CRect rcGroupBox;
	CWnd* pWnd = (CWnd*)GetDlgItem(IDC_STATIC_GROUPBOX);
	if(pWnd)
	{
		pWnd->GetWindowRect(rcGroupBox);
		ScreenToClient(rcGroupBox);
		CBrush brush(RGB(239,244,255));
		CBrush* m_oldBrush = (CBrush*)dc.SelectObject(&brush);
		dc.FillRect(rcGroupBox,&brush);
		dc.SelectObject(m_oldBrush);
	}
	//显示底端返回信息
	CFont *oldFont = dc.SelectObject((CFont*)&m_font);
	CRect rcPhontIcon,rcRtn;
	pWnd =  NULL;
	pWnd = (CWnd*)GetDlgItem(IDC_STATIC_ICON1);
	if (pWnd)
	{
		pWnd->GetWindowRect(rcPhontIcon);
		ScreenToClient(rcPhontIcon);
		dc.SetBkMode(TRANSPARENT);
		dc.TextOut(rcPhontIcon.right+5,rcPhontIcon.top+14 ,m_ReturnInfo);
		dc.SetBkMode(OPAQUE);
	}
	
	const int nxOffset = 80;
	const int nyOffset = 2;

	//显示编辑框的标题
	CRect rcEdit;
	int nCount = (byCurOperate == 1)?4:6;
	for (int i=0;i<nCount;i++)
	{
		pWnd = (CWnd*)GetDlgItem(IDC_Sms_TelNo1+i);
		if (pWnd)
		{
			pWnd->GetWindowRect(rcEdit);
			ScreenToClient(rcEdit);
			dc.SetBkMode(TRANSPARENT);
			dc.TextOut(rcEdit.left - nxOffset,rcEdit.top + nyOffset,
				(byCurOperate == 1)?chLabelBasic[i]:chLabelPhoneNo[i]);
			dc.SetBkMode(OPAQUE);
		}
		if (byCurOperate == 2)
		{
			pWnd = (CWnd*)GetDlgItem(IDC_Sms_TelNoValid1+i);
			if (pWnd)
			{
				pWnd->GetWindowRect(rcEdit);
				ScreenToClient(rcEdit);
				dc.SetBkMode(TRANSPARENT);
				dc.TextOut(rcEdit.right + 2,rcEdit.top + 1,_T("有效"));
				dc.SetBkMode(OPAQUE);
			}
		}
		
	}
	dc.SelectObject(oldFont);
}

//n=1 基本设置 2号码设置
void CDlgSms::SwitchDlgItem(int n)
{
	if (n!=byOldOperate)
	{
		((CWnd*)GetDlgItem(IDC_Sms_StationName))->ShowWindow((n==1)?SW_SHOW:SW_HIDE);
		((CWnd*)GetDlgItem(IDC_Sms_CenterNo))->ShowWindow((n==1)?SW_SHOW:SW_HIDE);
		((CWnd*)GetDlgItem(IDC_Sms_Psw))->ShowWindow((n==1)?SW_SHOW:SW_HIDE);
		((CWnd*)GetDlgItem(IDC_Sms_Psw2))->ShowWindow((n==1)?SW_SHOW:SW_HIDE);

		((CWnd*)GetDlgItem(IDC_Sms_TelNo1))->ShowWindow((n==2)?SW_SHOW:SW_HIDE);
		((CWnd*)GetDlgItem(IDC_Sms_TelNo2))->ShowWindow((n==2)?SW_SHOW:SW_HIDE);
		((CWnd*)GetDlgItem(IDC_Sms_TelNo3))->ShowWindow((n==2)?SW_SHOW:SW_HIDE);
		((CWnd*)GetDlgItem(IDC_Sms_TelNo4))->ShowWindow((n==2)?SW_SHOW:SW_HIDE);
		((CWnd*)GetDlgItem(IDC_Sms_TelNo5))->ShowWindow((n==2)?SW_SHOW:SW_HIDE);
		((CWnd*)GetDlgItem(IDC_Sms_TelNo6))->ShowWindow((n==2)?SW_SHOW:SW_HIDE);
		((CWnd*)GetDlgItem(IDC_Sms_TelNoValid1))->ShowWindow((n==2)?SW_SHOW:SW_HIDE);
		((CWnd*)GetDlgItem(IDC_Sms_TelNoValid2))->ShowWindow((n==2)?SW_SHOW:SW_HIDE);
		((CWnd*)GetDlgItem(IDC_Sms_TelNoValid3))->ShowWindow((n==2)?SW_SHOW:SW_HIDE);
		((CWnd*)GetDlgItem(IDC_Sms_TelNoValid4))->ShowWindow((n==2)?SW_SHOW:SW_HIDE);
		((CWnd*)GetDlgItem(IDC_Sms_TelNoValid5))->ShowWindow((n==2)?SW_SHOW:SW_HIDE);
		((CWnd*)GetDlgItem(IDC_Sms_TelNoValid6))->ShowWindow((n==2)?SW_SHOW:SW_HIDE);
		RedrawWindow(rcLabel);
		byOldOperate = n;
	}
	
}

void CDlgSms::CreateFont()
{
	LOGFONT logfont;
	memset(&logfont, 0, sizeof logfont);
	logfont.lfHeight = 12;
	logfont.lfWidth=6;
	logfont.lfWeight=FW_NORMAL;
	logfont.lfCharSet=DEFAULT_CHARSET;
	lstrcpy(logfont.lfFaceName, _T("宋体"));

	m_font.CreateFontIndirect(&logfont);
 	SetFont(&m_font);
}

void CDlgSms::OnBtnSmsupload() 
{
	// TODO: Add your control notification handler code here
	if (!((CMainFrame*)AfxGetMainWnd())->CallSMS()) {
		m_ReturnInfo = _T("参数上装命令发送错误!");
	}
	else
	{
		m_ReturnInfo = _T("正在上装参数设置.....");
		SetTimer(1,1000,NULL);
	}
	RedrawWindow(rcInfo);	
}

void CDlgSms::OnShowWindow(BOOL bShow, UINT nStatus) 
{
	CDialog::OnShowWindow(bShow, nStatus);
	
	// TODO: Add your message handler code here
	CRect rcGroupBox,rcTelNo6;
	CWnd* pWnd = (CWnd*)GetDlgItem(IDC_STATIC_GROUPBOX);
	if(pWnd)
	{
		pWnd->GetWindowRect(rcGroupBox);
		ScreenToClient(rcGroupBox);
		pWnd = (CWnd*)GetDlgItem(IDC_Sms_TelNo6);
		if (pWnd)
		{
			pWnd->GetWindowRect(rcTelNo6);
			ScreenToClient(rcTelNo6);
			rcLabel.left = rcGroupBox.left;
			rcLabel.top = rcGroupBox.top;
			rcLabel.right = rcGroupBox.right;
			rcLabel.bottom = rcTelNo6.bottom;
		}
	}
	CRect rcIcon;
	pWnd = (CWnd*)GetDlgItem(IDC_STATIC_ICON1);
	if (pWnd)
	{
		pWnd->GetWindowRect(rcIcon);
		ScreenToClient(rcIcon);
		rcInfo.left = rcIcon.right;
		rcInfo.right = 5000;
		rcInfo.top = rcIcon.top;
		rcInfo.bottom = rcIcon.bottom;
	}
}

⌨️ 快捷键说明

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