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