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

📄 setdlg.cpp

📁 CE导航界面。 CE导航界面。
💻 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 + -