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

📄 setupdlg.cpp

📁 WinCE下绝好的工具条软件
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// SetupDlg.cpp : 僀儞僾儕儊儞僥乕僔儑儞 僼傽僀儖
//

#include "stdafx.h"
#include "wisBarSetup.h"
#include "SetupDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CSetupDlg

IMPLEMENT_DYNAMIC(CSetupDlg, CPropertySheet)

CSetupDlg::CSetupDlg(UINT nIDCaption, CWnd* pParentWnd, UINT iSelectPage)
	:CPropertySheet(nIDCaption, pParentWnd, iSelectPage)
{
	SetupPages();
	FillDefault( &m_opt );
}

CSetupDlg::CSetupDlg(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage)
	:CPropertySheet(pszCaption, pParentWnd, iSelectPage)
{
	SetupPages();
	FillDefault( &m_opt );
}

CSetupDlg::~CSetupDlg()
{
}


BEGIN_MESSAGE_MAP(CSetupDlg, CPropertySheet)
	//{{AFX_MSG_MAP(CSetupDlg)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSetupDlg 儊僢僙乕僕 僴儞僪儔

void CSetupDlg::SetupPages()
{
	m_icons.m_pOpt = &m_opt ;
	m_imgs.m_pOpt = &m_opt ;
	m_items.m_pOpt = &m_opt ;
	m_order.m_pOpt = &m_opt ;
	m_options.m_pOpt = &m_opt ;
	m_icons2.m_pOpt = &m_opt ;

	AddPage( &m_items );
	AddPage( &m_options );
	AddPage( &m_icons2 );
	AddPage( &m_imgs );
	AddPage( &m_icons );
	AddPage( &m_order );
	AddPage( &m_about );
}

/////////////////////////////////////////////////////////////////////////////
// 愝掕抣偺撉傒崬傒
BOOL CSetupDlg::LoadSettings()
{
	HKEY	hKey,hSubKey ;
	LONG	lRet ;
	TCHAR	szBuf[MAX_PATH+1],szKey[MAX_PATH+1];
	DWORD	dwSize, dwType, dwDspOp ;

	// 僉乕丒僆乕僾儞
	lRet = RegCreateKeyEx( HKEY_CURRENT_USER,REG_KEY,0,_T(""),REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&hKey,&dwDspOp );
	if ( lRet != ERROR_SUCCESS ) {
		return( FALSE );
	}

	// 昞帵崁栚
	dwType = REG_DWORD ;
	dwSize = sizeof( DWORD );
	lRet = RegQueryValueEx( hKey,REG_DISP_ITEMS,0,&dwType,(LPBYTE)&dwDspOp,&dwSize );
	if ( lRet == ERROR_SUCCESS ) {
		// 僂傿儞僪僂丒僞僀僩儖
		m_opt.bTitle = (dwDspOp & DISPITEM_TITLE ? TRUE : FALSE);
		// 帪寁
		m_opt.bClock = (dwDspOp & DISPITEM_CLOCK ? TRUE : FALSE);
		// 擔晅
		m_opt.bDate = (dwDspOp & DISPITEM_DATE ? TRUE : FALSE);
		// 彫偝偄擔晅
		m_opt.bSmallDate = (dwDspOp & DISPITEM_SMALLDATE ? TRUE : FALSE);
		// 僔僗僥儉忣曬
		m_opt.bSystem = (dwDspOp & DISPITEM_SYSTEM ? TRUE : FALSE);
		// 儘僑僀儊乕僕
		m_opt.bLogo = (dwDspOp & DISPITEM_LOGO ? TRUE : FALSE);
		m_opt.bShifted = (dwDspOp & DISPITEM_SHIFTTITLE ? TRUE : FALSE);
		// 僞僗僋傾僀僐儞
		m_opt.bTaskIcon = (dwDspOp & DISPITEM_TASKICON ? TRUE : FALSE);
		// 3D傾僀僐儞
		m_opt.bNo3D = (dwDspOp & DISPITEM_NO3D ? TRUE : FALSE);
		// 忢偵僗僞乕僩儊僯儏乕傪昞帵
		m_opt.bAlways = (dwDspOp & DISPITEM_ALWAYS ? TRUE : FALSE);
		if ( !m_opt.bTitle ) {
			m_opt.bAlways = FALSE ;
		}
	}

	// Smart Minimize
	dwType = REG_DWORD ;
	dwSize = sizeof( DWORD );
	lRet = RegQueryValueEx( hKey,REG_SMARTMINIMIZE,0,&dwType,(LPBYTE)&dwDspOp,&dwSize );
	if ( lRet == ERROR_SUCCESS ) {
		m_opt.bSmartMinimize = (dwDspOp == 0 ? FALSE : TRUE);
	}

	// Compact Date Time
	dwType = REG_DWORD ;
	dwSize = sizeof( DWORD );
	lRet = RegQueryValueEx( hKey,REG_COMPACT,0,&dwType,(LPBYTE)&dwDspOp,&dwSize );
	if ( lRet == ERROR_SUCCESS ) {
		m_opt.bAMPM = (dwDspOp == 0 ? FALSE : TRUE);
	}

	// Tap and hold mute
	dwType = REG_DWORD ;
	dwSize = sizeof( DWORD );
	lRet = RegQueryValueEx( hKey,REG_THMUTE,0,&dwType,(LPBYTE)&dwDspOp,&dwSize );
	if ( lRet == ERROR_SUCCESS ) {
		m_opt.bTHMUTE = (dwDspOp == 0 ? FALSE : TRUE);
	}

	// Gradient Titlebar
	dwType = REG_DWORD;
	dwSize = sizeof( DWORD );
	lRet = RegQueryValueEx( hKey,REG_GRADIENT,0,&dwType,(LPBYTE)&dwDspOp,&dwSize );
	if ( lRet == ERROR_SUCCESS ) {
		m_opt.bGradient = (dwDspOp == 0 ? FALSE : TRUE);
	}

	dwType = REG_DWORD;
	dwSize = sizeof( DWORD );
	lRet = RegQueryValueEx( hKey,REG_DITHERED,0,&dwType,(LPBYTE)&dwDspOp,&dwSize );
	if( lRet == ERROR_SUCCESS ) {
		m_opt.bDithered = (dwDspOp == 0 ? FALSE : TRUE);
	}

	// Use 2002 Font colors
	dwType = REG_DWORD;
	dwSize = sizeof( DWORD );
	lRet = RegQueryValueEx( hKey,REG_2002FONTS,0,&dwType,(LPBYTE)&dwDspOp,&dwSize );
	if( lRet == ERROR_SUCCESS ) {
		m_opt.use2002FontColors = (dwDspOp == 0 ? FALSE : TRUE);
	}

	// Use 2002 Theme colors
	dwType = REG_DWORD;
	dwSize = sizeof( DWORD );
	lRet = RegQueryValueEx( hKey,REG_2002THEME,0,&dwType,(LPBYTE)&dwDspOp,&dwSize );
	if( lRet == ERROR_SUCCESS ) {
		m_opt.b2002Theme = (dwDspOp == 0 ? FALSE : TRUE);
	}

	dwType = REG_DWORD;
	dwSize = sizeof( DWORD );
	lRet = RegQueryValueEx( hKey,REG_2002STYLE,0,&dwType,(LPBYTE)&dwDspOp,&dwSize );
	if( lRet == ERROR_SUCCESS ) {
		m_opt.b2002Style = (dwDspOp == 0 ? FALSE : TRUE);
	}

	// Gradient Start Color
	dwType = REG_DWORD;
	dwSize = sizeof( DWORD );
	lRet = RegQueryValueEx( hKey,REG_GRADSTART,0,&dwType,(LPBYTE)&dwDspOp,&dwSize );
	if ( lRet == ERROR_SUCCESS ) {
		m_opt.cStartCr = (COLORREF)dwDspOp;
	}

	// Gradient End Color
	dwType = REG_DWORD;
	dwSize = sizeof( DWORD );
	lRet = RegQueryValueEx( hKey,REG_GRADEND,0,&dwType,(LPBYTE)&dwDspOp,&dwSize );
	if ( lRet == ERROR_SUCCESS ) {
		m_opt.cEndCr = (COLORREF)dwDspOp;
	}

	// Notifications
	dwType = REG_DWORD;
	dwSize = sizeof( DWORD );
	lRet = RegQueryValueEx( hKey,REG_NOTIFY,0,&dwType,(LPBYTE)&dwDspOp,&dwSize );
	if( lRet == ERROR_SUCCESS )
		m_opt.bNotification = (dwDspOp != 0);

	dwType = REG_DWORD;
	dwSize = sizeof( DWORD );
	lRet = RegQueryValueEx( hKey,REG_TAPAPPOINT,0,&dwType,(LPBYTE)&dwDspOp,&dwSize );
	if( lRet == ERROR_SUCCESS )
		m_opt.tapNextAppointment = (dwDspOp != 0);

	// Hide Activesync
	dwType = REG_DWORD ;
	dwSize = sizeof( DWORD );
	lRet = RegQueryValueEx( hKey,REG_HIDEA,0,&dwType,(LPBYTE)&dwDspOp,&dwSize );
	if ( lRet == ERROR_SUCCESS ) {
		m_opt.bHidea = (dwDspOp == 0 ? FALSE : TRUE);
	}

	// Goto Today
	dwType = REG_DWORD ;
	dwSize = sizeof( DWORD );
	lRet = RegQueryValueEx( hKey,REG_TODAY,0,&dwType,(LPBYTE)&dwDspOp,&dwSize );
	if ( lRet == ERROR_SUCCESS ) {
		m_opt.bToday = (dwDspOp == 0 ? FALSE : TRUE);
	}

	// 3d buttons
	dwType = REG_DWORD ;
	dwSize = sizeof( DWORD );
	lRet = RegQueryValueEx( hKey,REG_3DBUTTON,0,&dwType,(LPBYTE)&dwDspOp,&dwSize );
	if ( lRet == ERROR_SUCCESS ) {
		m_opt.b3dbutton = (dwDspOp == 0 ? FALSE : TRUE);
	}

	// 僞僀僩儖娭楢
	if ( m_opt.bTitle ) {
		// 僞僀僩儖丒僼僅儞僩
		dwType = REG_SZ ;
		dwSize = sizeof(szBuf);
		lRet = RegQueryValueEx( hKey,REG_TITLE_FONT,0,&dwType,(LPBYTE)szBuf,&dwSize );
		if ( lRet == ERROR_SUCCESS ) {
			lstrcpy( m_opt.szTitleFont,szBuf );
		}

		// 僞僀僩儖丒僼僅儞僩僒僀僘	
		dwType = REG_DWORD ;
		dwSize = sizeof( DWORD );
		lRet = RegQueryValueEx( hKey,REG_TITLE_SIZE,0,&dwType,(LPBYTE)&dwDspOp,&dwSize );
		if ( lRet == ERROR_SUCCESS ) {
			m_opt.iTitleSize = (int)dwDspOp ;
		}

		// 僞僀僩儖丒僇儔乕
		dwType = REG_DWORD ;
		dwSize = sizeof( DWORD );
		lRet = RegQueryValueEx( hKey,REG_TITLE_CR,0,&dwType,(LPBYTE)&dwDspOp,&dwSize );
		if ( lRet == ERROR_SUCCESS ) {
			m_opt.crTitle = (COLORREF)dwDspOp ;
		}

		// 僼僅儞僩彂懱
		dwType = REG_DWORD ;
		dwSize = sizeof( DWORD );
		lRet = RegQueryValueEx( hKey,REG_TITLE_STYL,0,&dwType,(LPBYTE)&dwDspOp,&dwSize );
		if ( lRet == ERROR_SUCCESS ) {
			m_opt.dwTitleStyle = (COLORREF)dwDspOp ;
		}
	}

	// 帪寁娭楢
	if ( m_opt.bClock ) {
		// 帪寁僼僅儞僩
		dwType = REG_SZ ;
		dwSize = sizeof(szBuf);
		lRet = RegQueryValueEx( hKey,REG_CLOCK_FONT,0,&dwType,(LPBYTE)szBuf,&dwSize );
		if ( lRet == ERROR_SUCCESS ) {
			lstrcpy( m_opt.szClockFont,szBuf );
		}

		// 帪寁僼僅儞僩僒僀僘	
		dwType = REG_DWORD ;
		dwSize = sizeof( DWORD );
		lRet = RegQueryValueEx( hKey,REG_CLOCK_SIZE,0,&dwType,(LPBYTE)&dwDspOp,&dwSize );
		if ( lRet == ERROR_SUCCESS ) {
			m_opt.iClockSize = (int)dwDspOp ;
		}

		// 帪寁僇儔乕
		dwType = REG_DWORD ;
		dwSize = sizeof( DWORD );
		lRet = RegQueryValueEx( hKey,REG_CLOCK_CR,0,&dwType,(LPBYTE)&dwDspOp,&dwSize );
		if ( lRet == ERROR_SUCCESS ) {
			m_opt.crClock = (COLORREF)dwDspOp ;
		}

		// 帪寁彂懱
		dwType = REG_DWORD ;
		dwSize = sizeof( DWORD );
		lRet = RegQueryValueEx( hKey,REG_CLOCK_STYL,0,&dwType,(LPBYTE)&dwDspOp,&dwSize );
		if ( lRet == ERROR_SUCCESS ) {
			m_opt.dwClockStyle = (COLORREF)dwDspOp ;
		}
	}
	// 昞婰
	dwType = REG_DWORD ;
	dwSize = sizeof( DWORD );
	lRet = RegQueryValueEx( hKey,REG_CLOCK_FMT,0,&dwType,(LPBYTE)&dwDspOp,&dwSize );
	if ( lRet == ERROR_SUCCESS ) {
		m_opt.dwClockFormat = dwDspOp ;
	}

	// 僶僢僥儕乕儅乕僋怓
	dwType = REG_DWORD ;
	dwSize = sizeof( DWORD );
	lRet = RegQueryValueEx( hKey,REG_BATT_COLOR,0,&dwType,(LPBYTE)&dwDspOp,&dwSize );
	if ( lRet == ERROR_SUCCESS ) {
		m_opt.crBatt = (COLORREF)dwDspOp ;
	}

	// 擔晅娭楢
	if ( m_opt.bDate ) {
		// 擔晅僼僅儞僩
		dwType = REG_SZ ;
		dwSize = sizeof(szBuf);
		lRet = RegQueryValueEx( hKey,REG_DATE_FONT,0,&dwType,(LPBYTE)szBuf,&dwSize );
		if ( lRet == ERROR_SUCCESS ) {
			lstrcpy( m_opt.szDateFont,szBuf );
		}

		// 擔晅僼僅儞僩僒僀僘	
		dwType = REG_DWORD ;
		dwSize = sizeof( DWORD );
		lRet = RegQueryValueEx( hKey,REG_DATE_SIZE,0,&dwType,(LPBYTE)&dwDspOp,&dwSize );
		if ( lRet == ERROR_SUCCESS ) {
			m_opt.iDateSize = (int)dwDspOp ;
		}

		// 擔晅僇儔乕
		dwType = REG_DWORD ;
		dwSize = sizeof( DWORD );
		lRet = RegQueryValueEx( hKey,REG_DATE_CR,0,&dwType,(LPBYTE)&dwDspOp,&dwSize );
		if ( lRet == ERROR_SUCCESS ) {
			m_opt.crDate = (COLORREF)dwDspOp ;
		}

		// 擔晅彂懱
		dwType = REG_DWORD ;
		dwSize = sizeof( DWORD );
		lRet = RegQueryValueEx( hKey,REG_DATE_STYL,0,&dwType,(LPBYTE)&dwDspOp,&dwSize );
		if ( lRet == ERROR_SUCCESS ) {
			m_opt.dwDateStyle = (COLORREF)dwDspOp ;
		}
	}

	// 彫偝偄擔晅偺怓
	dwType = REG_DWORD ;
	dwSize = sizeof( DWORD );
	lRet = RegQueryValueEx( hKey,REG_SM_COLOR,0,&dwType,(LPBYTE)&dwDspOp,&dwSize );
	if ( lRet == ERROR_SUCCESS ) {
		m_opt.crSmall = (COLORREF)dwDspOp ;
	}

	// 儘僑娭楢
	if ( m_opt.bLogo ) {
		dwType = REG_SZ ;
		dwSize = sizeof(szBuf);
		lRet = RegQueryValueEx( hKey,REG_LOGO_IMG,0,&dwType,(LPBYTE)szBuf,&dwSize );
		if ( lRet == ERROR_SUCCESS ) {
			lstrcpy( m_opt.szLogo,szBuf );
		}
	}

	// 攚宨夋憸
	dwType = REG_SZ ;
	dwSize = sizeof(szBuf);
	lRet = RegQueryValueEx( hKey,REG_BGIMG_FILE,0,&dwType,(LPBYTE)szBuf,&dwSize );
	if ( lRet == ERROR_SUCCESS ) {
		lstrcpy( m_opt.szBG,szBuf );
	}

	// 傾僀僐儞
	for ( int iIdx = 0 ; iIdx < WIS_ICON_NUM ; iIdx++ ) {
		wsprintf( szKey,_T("%s%d"),REG_ICON_KEY,iIdx );

		// 僉乕丒僆乕僾儞
		lRet = RegCreateKeyEx( hKey,szKey,0,_T(""),REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&hSubKey,&dwDspOp );
		if ( lRet != ERROR_SUCCESS ) {
			RegCloseKey( hKey );
			return( FALSE );
		}

		// 昞帵偺桳柍
		dwType = REG_DWORD ;
		dwSize = sizeof( DWORD );
		lRet = RegQueryValueEx( hSubKey,REG_ICON_DISP,0,&dwType,(LPBYTE)&dwDspOp,&dwSize );
		if ( lRet == ERROR_SUCCESS ) {
			m_opt.ico[iIdx].bDsp = (dwDspOp == 0 ? FALSE : TRUE);

			// 僀儊乕僕丒僼傽僀儖
			dwType = REG_SZ ;
			dwSize = sizeof(szBuf);
			lRet = RegQueryValueEx( hSubKey,REG_ICON_FILE,0,&dwType,(LPBYTE)szBuf,&dwSize );
			if ( lRet == ERROR_SUCCESS ) {
				lstrcpy( m_opt.ico[iIdx].szIcon,szBuf );
			}
		}
		// 僋儘乕僘
		RegCloseKey( hSubKey );
	}

	// 昞帵弴彉
	BYTE	cbBuf[ORDER_ID_MAX];

	dwType = REG_BINARY ;
	dwSize = ORDER_ID_MAX ;
	lRet = RegQueryValueEx( hKey,REG_ORDER,0,&dwType,cbBuf,&dwSize );
	if ( (lRet == ERROR_SUCCESS) && (dwSize == sizeof(cbBuf)) ) {
		BYTE	cbChkBuf[ORDER_ID_MAX];
		BOOL	bOk = TRUE ;
		// 曗惓偡傞
		ZeroMemory( cbChkBuf,sizeof(cbChkBuf) );
		for ( iIdx = 0 ; iIdx < ORDER_ID_MAX ; iIdx++ ) {
			if ( cbChkBuf[cbBuf[iIdx]] == 0 ) {
				cbChkBuf[cbBuf[iIdx]] = 1 ;
			}
			else {
				bOk = FALSE ;
			}
		}
		if ( bOk ) {
			CopyMemory( m_opt.cbOrder,cbBuf,sizeof(cbBuf) );
		}
	}

	// 僋儘乕僘
	RegCloseKey( hKey );

	m_opt.bGradient = m_opt.bGradient && (m_opt.szBG[0] == NULL);
	return( TRUE );
}

/////////////////////////////////////////////////////////////////////////////
// 愝掕抣偺曐懚
BOOL CSetupDlg::SaveSettings()
{
	HKEY	hKey,hSubKey ;
	LONG	lRet ;
	TCHAR	szKey[MAX_PATH+1];
	DWORD	dwDspOp, dwVal ;

	// 僉乕丒僆乕僾儞
	lRet = RegCreateKeyEx( HKEY_CURRENT_USER,REG_KEY,0,_T(""),REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&hKey,&dwDspOp );
	if ( lRet != ERROR_SUCCESS ) {
		return( FALSE );
	}

	// 昞帵崁栚
	dwVal = 0 ;
	if ( m_opt.szBG[0] != NULL ) {	// 攚宨夋憸
		dwVal = DISPITEM_BG ;
	}
	if ( m_opt.bTitle ) {			// 僂傿儞僪僂丒僞僀僩儖
		dwVal |= DISPITEM_TITLE ;
	}
	if ( m_opt.bClock ) {			// 帪寁
		dwVal |= DISPITEM_CLOCK ;
	}
	if ( m_opt.bDate ) {			// 擔晅
		dwVal |= DISPITEM_DATE ;
	}
	if ( m_opt.bSmallDate ) {		// 彫偝偄擔晅
		dwVal |= DISPITEM_SMALLDATE ;
	}
	if ( m_opt.bSystem ) {			// 僔僗僥儉忣曬
		dwVal |= DISPITEM_SYSTEM ;
	}
	if ( m_opt.bLogo ) {			// 儘僑
		dwVal |= DISPITEM_LOGO ;
	}
	if ( m_opt.bShifted ) {

⌨️ 快捷键说明

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