📄 setdlg.cpp
字号:
// SetDlg.cpp : implementation file
//
#include "stdafx.h"
#include "gps.h"
#include "SetDlg.h"
#include "PathDlg.h"
#include "VolDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSetDlg dialog
typedef BOOL (WINAPI *_TouchCalibrate)();
CSetDlg::CSetDlg(CWnd* pParent /*=NULL*/)
: CDialog(CSetDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CSetDlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
isActiveSave=FALSE;
isActiveTouch=FALSE;
isActiveVol=FALSE;
isActiveRe=FALSE;
}
void CSetDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSetDlg)
// NOTE: the ClassWizard will add DDX and DDV calls here
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CSetDlg, CDialog)
//{{AFX_MSG_MAP(CSetDlg)
ON_WM_PAINT()
ON_WM_LBUTTONDOWN()
ON_WM_LBUTTONUP()
ON_WM_ERASEBKGND()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSetDlg message handlers
void CSetDlg::OnPaint()
{
CPaintDC dc(this); // device context for painting
CBitmap bitmap;
BITMAP bmp;
CDC memDC;
CFont font;
CRect rect;
// -----------------背景--------------------------------------
bitmap.LoadBitmap(IDB_BITMAP1);//IDB_NAV
bitmap.GetObject (sizeof(BITMAP),&bmp);
memDC.CreateCompatibleDC (&dc);
memDC.SelectObject (bitmap);
dc.BitBlt (0,0,bmp.bmWidth ,bmp.bmHeight ,&memDC,0,0,SRCCOPY);
bitmap.DeleteObject();
//--------------------------------------------------------------
CString str4=TEXT("音量");//TEXT("音频");
CString str5=TEXT("触摸屏");//TEXT("触摸屏");
CString str6=TEXT("导航设置");//TEXT("保存");
CString str7=TEXT("设置");//TEXT("地图导航");
font.CreatePointFont(180,L"黑体");
dc.SelectObject(&font);
dc.SetBkMode(TRANSPARENT);
dc.SetTextColor(RGB(255,255,255));
dc.DrawText(str7, CRect(140,8,200,40), 0);
font.CreatePointFont(120,L"宋体");
dc.SelectObject(&font);
dc.SetBkMode(TRANSPARENT);
dc.SetTextColor(RGB(0,0,0));
dc.DrawText(str4, CRect(55,160,100,180), 0);
dc.DrawText(str5, CRect(140,160,190,180), 0);
dc.DrawText(str6, CRect(220,160,290,180), 0);
font.DeleteObject();
bitmap.LoadBitmap(IDB_VOL);
bitmap.GetObject (sizeof(BITMAP),&bmp);
memDC.CreateCompatibleDC (&dc);
memDC.SelectObject (bitmap);
dc.BitBlt (42,86,bmp.bmWidth ,bmp.bmHeight ,&memDC,0,0,SRCCOPY);
bitmap.DeleteObject();
bitmap.LoadBitmap(IDB_CHECK);
bitmap.GetObject (sizeof(BITMAP),&bmp);
memDC.CreateCompatibleDC (&dc);
memDC.SelectObject (bitmap);
dc.BitBlt (132,86,bmp.bmWidth ,bmp.bmHeight ,&memDC,0,0,SRCCOPY);
bitmap.DeleteObject();
bitmap.LoadBitmap(IDB_SAVE);
bitmap.GetObject (sizeof(BITMAP),&bmp);
memDC.CreateCompatibleDC (&dc);
memDC.SelectObject (bitmap);
dc.BitBlt (222,86,bmp.bmWidth ,bmp.bmHeight ,&memDC,0,0,SRCCOPY);
bitmap.DeleteObject();
bitmap.LoadBitmap(IDB_LASTPAGE);
bitmap.GetObject (sizeof(BITMAP),&bmp);
memDC.CreateCompatibleDC (&dc);
memDC.SelectObject (bitmap);
dc.BitBlt (275,3,bmp.bmWidth ,bmp.bmHeight ,&memDC,0,0,SRCCOPY);
bitmap.DeleteObject();
// Do not call CDialog::OnPaint() for painting messages
}
void CSetDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
if(PtInRect(CRect(40,80,90,130),point))
{//音量设置
isActiveVol=TRUE;
}
else if(PtInRect(CRect(132,86,218,151),point))
{//触摸屏
isActiveTouch=TRUE;
}
else if(PtInRect(CRect(222,86,287,151),point))
{//保存
isActiveSave=TRUE;
}
else if(PtInRect(CRect(279,6,313,69),point))
{//返回
isActiveRe=TRUE;
}
CDialog::OnLButtonDown(nFlags, point);
}
void CSetDlg::OnLButtonUp(UINT nFlags, CPoint point)
{
if(isActiveVol==TRUE)
{
isActiveVol=FALSE;
CVolDlg dlg;
dlg.DoModal();
}
else if(isActiveTouch==TRUE)
{
isActiveTouch=FALSE;
HINSTANCE hinstance = LoadLibrary(_T("coredll.dll"));
if (hinstance == NULL)
{
AfxMessageBox (L"instance == NULL");
return;
}
_TouchCalibrate TouchCalibrate = NULL;
TouchCalibrate = (_TouchCalibrate)GetProcAddress(hinstance , L"TouchCalibrate");
if (TouchCalibrate == NULL)
{
AfxMessageBox (L"TouchCalibrate == NULL");
return;
}
TouchCalibrate ();
FreeLibrary(hinstance );
}
else if(isActiveSave==TRUE)
{
isActiveSave=FALSE;
CPathDlg dlg;
dlg.DoModal();
}
else if(isActiveRe==TRUE)
{//返回
isActiveRe=FALSE;
CDialog::OnCancel();
}
CDialog::OnLButtonUp(nFlags, point);
}
BOOL CSetDlg::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Add your specialized code here and/or call the base class
if( !CDialog::PreCreateWindow(cs) )
return FALSE;
cs.cx = 320;
cs.cy = 240;
cs.style &= ~WS_MAXIMIZEBOX;//禁止最大化
cs.style &= ~WS_THICKFRAME;//禁止调整大小
return TRUE;
// return CDialog::PreCreateWindow(cs);
}
BOOL CSetDlg::OnEraseBkgnd(CDC* pDC)
{
// TODO: Add your message handler code here and/or call default
// return CDialog::OnEraseBkgnd(pDC);
return -1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -