326 lines
7.9 KiB
C++
Executable File
326 lines
7.9 KiB
C++
Executable File
// SetBacklightDlg.cpp : implementation file
|
|
//
|
|
#include "stdafx.h"
|
|
#include "gpsmain.h"
|
|
#include "SetBacklightDlg.h"
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CSetBacklightDlg dialog
|
|
|
|
|
|
CSetBacklightDlg::CSetBacklightDlg(CWnd* pParent /*=NULL*/)
|
|
: CDialog(CSetBacklightDlg::IDD, pParent)
|
|
{
|
|
//{{AFX_DATA_INIT(CSetBacklightDlg)
|
|
//}}AFX_DATA_INIT
|
|
// 初始化背景画刷
|
|
CBitmap tmpBmp;
|
|
// 从资源中加载背景图片
|
|
tmpBmp.LoadBitmap(IDB_BACKLIGHT_WND);
|
|
|
|
m_BgDC.CreateCompatibleDC(NULL);
|
|
m_BgDC.SelectObject(&tmpBmp);
|
|
|
|
tmpBmp.DeleteObject();
|
|
|
|
int timeTab[] = {0,1,2,3,5,10,15,20,25,30,45,1,2,3,4,5};
|
|
for(int i = 0; i <= 15; i++)
|
|
{
|
|
m_TimeTab[i] = timeTab[i];
|
|
}
|
|
|
|
|
|
m_BattryTime = 3;
|
|
m_ACPowerTime = 4;
|
|
|
|
m_Backlight = GetRegBacklightValue();
|
|
|
|
// 18x18 粗体
|
|
m_titleFont.CreateFont(18,0,0,0,FW_BOLD,0,0,0,GB2312_CHARSET,OUT_DEFAULT_PRECIS,
|
|
CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH|FF_SWISS,_T("Arial"));
|
|
|
|
m_txtFont.CreateFont(16,0,0,0,FW_NORMAL,0,0,0,GB2312_CHARSET,OUT_DEFAULT_PRECIS,
|
|
CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH|FF_SWISS,_T("Arial"));
|
|
}
|
|
|
|
CSetBacklightDlg::~CSetBacklightDlg()
|
|
{
|
|
m_BgDC.DeleteDC();
|
|
m_txtFont.DeleteObject();
|
|
m_titleFont.DeleteObject();
|
|
}
|
|
|
|
void CSetBacklightDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
//{{AFX_DATA_MAP(CSetBacklightDlg)
|
|
DDX_Control(pDX, IDC_PROGRESS_LIGHT, m_prgLight);
|
|
DDX_Control(pDX, IDC_BUTTON_POWERDEC, m_butPowerDec);
|
|
DDX_Control(pDX, IDC_BUTTON_POWERADD, m_butPowerAdd);
|
|
DDX_Control(pDX, IDC_BUTTON_LIGHTDEC, m_butLightDec);
|
|
DDX_Control(pDX, IDC_BUTTON_LIGHTADD, m_butLightAdd);
|
|
DDX_Control(pDX, IDC_BUTTON_BARTYDEC, m_butBattryDec);
|
|
DDX_Control(pDX, IDC_BUTTON_BARTYADD, m_butBattryAdd);
|
|
DDX_Control(pDX, IDC_BUTTON_BACKLIGHT_EXIT, m_butExit);
|
|
//}}AFX_DATA_MAP
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CSetBacklightDlg, CDialog)
|
|
//{{AFX_MSG_MAP(CSetBacklightDlg)
|
|
ON_BN_CLICKED(IDC_BUTTON_BACKLIGHT_EXIT, OnButtonBacklightExit)
|
|
ON_BN_CLICKED(IDC_BUTTON_BARTYADD, OnButtonBartyadd)
|
|
ON_BN_CLICKED(IDC_BUTTON_BARTYDEC, OnButtonBartydec)
|
|
ON_BN_CLICKED(IDC_BUTTON_LIGHTADD, OnButtonLightadd)
|
|
ON_BN_CLICKED(IDC_BUTTON_LIGHTDEC, OnButtonLightdec)
|
|
ON_BN_CLICKED(IDC_BUTTON_POWERADD, OnButtonPoweradd)
|
|
ON_BN_CLICKED(IDC_BUTTON_POWERDEC, OnButtonPowerdec)
|
|
ON_WM_PAINT()
|
|
ON_WM_ERASEBKGND()
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CSetBacklightDlg message handlers
|
|
|
|
BOOL CSetBacklightDlg::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
|
|
CenterWindow(this); // center to the hpc screen
|
|
|
|
// TODO: Add extra initialization here
|
|
// 设置窗口大小
|
|
MoveWindow(0,0,320,240);
|
|
|
|
m_butExit.MoveWindow(282,6,25,25);
|
|
m_butExit.LoadBitmaps(IDB_SETVOLUME_CLOSE,IDB_SETVOLUME_CLOSED);
|
|
|
|
m_butLightDec.MoveWindow(22,64,48,48);
|
|
m_butLightDec.LoadBitmaps(IDB_BACKLIGHT_LIGHTDEC,IDB_BACKLIGHT_LIGHTDECD);
|
|
|
|
m_butBattryDec.MoveWindow(22,114,48,48);
|
|
m_butBattryDec.LoadBitmaps(IDB_BACKLIGHT_BATTRYDEC,IDB_BACKLIGHT_BATTRYDECD);
|
|
|
|
m_butPowerDec.MoveWindow(22,166,48,48);
|
|
m_butPowerDec.LoadBitmaps(IDB_BACKLIGHT_POWERDEC,IDB_BACKLIGHT_POWERDECD);
|
|
|
|
m_butLightAdd.MoveWindow(250,64,48,48);
|
|
m_butLightAdd.LoadBitmaps(IDB_BACKLIGHT_LIGHTADD,IDB_BACKLIGHT_LIGHTADDD);
|
|
|
|
m_butBattryAdd.MoveWindow(250,114,48,48);
|
|
m_butBattryAdd.LoadBitmaps(IDB_BACKLIGHT_BATTRYADD,IDB_BACKLIGHT_BATTRYADDD);
|
|
|
|
m_butPowerAdd.MoveWindow(250,166,48,48);
|
|
m_butPowerAdd.LoadBitmaps(IDB_BACKLIGHT_POWERADD,IDB_BACKLIGHT_POWERADDD);
|
|
|
|
m_prgLight.MoveWindow(70,74,179,29);
|
|
m_prgLight.LoadBitmap(IDB_BACKLIGHT_PRGLIGHT,IDB_BACKLIGHT_PRGLIGHTD);
|
|
m_prgLight.SetRange(0,10);
|
|
m_prgLight.SetPos(0);
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
|
// EXCEPTION: OCX Property Pages should return FALSE
|
|
}
|
|
|
|
void CSetBacklightDlg::OnButtonBacklightExit()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
EndDialog(1);
|
|
}
|
|
|
|
void CSetBacklightDlg::OnButtonBartyadd()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
|
|
if (m_BattryTime < 15)
|
|
{
|
|
m_BattryTime++;
|
|
}
|
|
else
|
|
{
|
|
m_BattryTime = 0;
|
|
}
|
|
|
|
InvalidateRect(CRect(71,123,249,151));
|
|
}
|
|
|
|
void CSetBacklightDlg::OnButtonBartydec()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
if (m_BattryTime > 0)
|
|
{
|
|
m_BattryTime--;
|
|
}
|
|
else
|
|
{
|
|
m_BattryTime = 15;
|
|
}
|
|
|
|
InvalidateRect(CRect(71,123,249,151));
|
|
}
|
|
|
|
void CSetBacklightDlg::OnButtonLightadd()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
if(m_Backlight < 10)
|
|
{
|
|
m_Backlight++;
|
|
m_prgLight.SetPos(m_Backlight);
|
|
SetRegBacklightValue(m_Backlight);
|
|
}
|
|
}
|
|
|
|
void CSetBacklightDlg::OnButtonLightdec()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
if (m_Backlight > 0)
|
|
{
|
|
m_Backlight--;
|
|
m_prgLight.SetPos(m_Backlight);
|
|
SetRegBacklightValue(m_Backlight);
|
|
}
|
|
}
|
|
|
|
void CSetBacklightDlg::OnButtonPoweradd()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
|
|
if (m_ACPowerTime < 15)
|
|
{
|
|
m_ACPowerTime++;
|
|
}
|
|
else
|
|
{
|
|
m_ACPowerTime = 0;
|
|
}
|
|
|
|
InvalidateRect(CRect(71,174,249,203));
|
|
}
|
|
|
|
void CSetBacklightDlg::OnButtonPowerdec()
|
|
{
|
|
// TODO: Add your control notification handler code here
|
|
|
|
if (m_ACPowerTime > 0)
|
|
{
|
|
m_ACPowerTime--;
|
|
}
|
|
else
|
|
{
|
|
m_ACPowerTime = 15;
|
|
}
|
|
|
|
InvalidateRect(CRect(71,174,249,203));
|
|
}
|
|
|
|
void CSetBacklightDlg::OnPaint()
|
|
{
|
|
CPaintDC dc(this); // device context for painting
|
|
|
|
dc.BitBlt(0,0,320,240,&m_BgDC,0,0,SRCCOPY);
|
|
|
|
dc.SelectObject(&m_titleFont);
|
|
dc.SetBkMode(TRANSPARENT);
|
|
dc.SetTextColor(RGB(255,255,255));
|
|
|
|
|
|
dc.SetBkMode(TRANSPARENT);
|
|
|
|
WCHAR strRes[MAX_PATH];
|
|
// TODO: Add your message handler code here
|
|
CString(LoadString(theApp.GetResourceLib(),IDS_SET_BKLIGHT_TITLE,strRes,MAX_PATH));
|
|
dc.DrawText(strRes,CRect(45,4,220,32),DT_LEFT|DT_VCENTER);
|
|
|
|
dc.SelectObject(&m_txtFont);
|
|
dc.SetTextColor(RGB(0,0,0));
|
|
|
|
CString(LoadString(theApp.GetResourceLib(),IDS_SET_BKLIGHT_LIGHT,strRes,MAX_PATH));
|
|
dc.DrawText(strRes,CRect(0,52,320,70),DT_VCENTER|DT_CENTER);
|
|
|
|
CString(LoadString(theApp.GetResourceLib(),IDS_SET_BKLIGHT_BATTRY,strRes,MAX_PATH));
|
|
dc.DrawText(strRes,CRect(0,104,320,121),DT_VCENTER|DT_CENTER);
|
|
|
|
CString(LoadString(theApp.GetResourceLib(),IDS_SET_BKLIGHT_LIGHT,strRes,MAX_PATH));
|
|
dc.DrawText(strRes,CRect(0,154,320,172),DT_VCENTER|DT_CENTER);
|
|
|
|
int strID;
|
|
|
|
if (m_BattryTime == 0)
|
|
{
|
|
strID = IDS_SET_BKLIGHT_INFON;
|
|
}
|
|
else if (m_BattryTime > 0 && m_BattryTime <= 10)
|
|
{
|
|
strID = IDS_SET_BKLIGHT_INFO;
|
|
}
|
|
else
|
|
{
|
|
strID = IDS_SET_BKLIGHT_INFOM;
|
|
}
|
|
|
|
CString str;
|
|
CString(LoadString(theApp.GetResourceLib(),strID,strRes,MAX_PATH));
|
|
|
|
if (m_BattryTime != 0)
|
|
{
|
|
str.Format(L"%d %s",m_TimeTab[m_BattryTime],strRes);
|
|
dc.DrawText(str,CRect(71,123,249,151),DT_VCENTER|DT_CENTER);
|
|
}
|
|
else
|
|
{
|
|
dc.DrawText(strRes,CRect(71,123,249,151),DT_VCENTER|DT_CENTER);
|
|
}
|
|
|
|
|
|
if (m_ACPowerTime == 0)
|
|
{
|
|
strID = IDS_SET_BKLIGHT_INFON;
|
|
}
|
|
else if (m_ACPowerTime > 0 && m_ACPowerTime <= 10)
|
|
{
|
|
strID = IDS_SET_BKLIGHT_INFO;
|
|
}
|
|
else
|
|
{
|
|
strID = IDS_SET_BKLIGHT_INFOM;
|
|
}
|
|
|
|
CString(LoadString(theApp.GetResourceLib(),strID,strRes,MAX_PATH));
|
|
|
|
if (m_ACPowerTime != 0)
|
|
{
|
|
str.Format(L"%d %s",m_TimeTab[m_ACPowerTime],strRes);
|
|
dc.DrawText(str,CRect(71,174,249,203),DT_VCENTER|DT_CENTER);
|
|
}
|
|
else
|
|
{
|
|
dc.DrawText(strRes,CRect(71,174,249,203),DT_VCENTER|DT_CENTER);
|
|
}
|
|
|
|
|
|
// Do not call CDialog::OnPaint() for painting messages
|
|
}
|
|
|
|
int CSetBacklightDlg::GetRegBacklightValue()
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
bool CSetBacklightDlg::SetRegBacklightValue(int iValue)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
BOOL CSetBacklightDlg::OnEraseBkgnd(CDC* pDC)
|
|
{
|
|
// TODO: Add your message handler code here and/or call default
|
|
return FALSE;
|
|
//return CDialog::OnEraseBkgnd(pDC);
|
|
}
|