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

📄 proporder.cpp

📁 WinCE下绝好的工具条软件
💻 CPP
字号:
// PropOrder.cpp : 僀儞僾儕儊儞僥乕僔儑儞 僼傽僀儖
//

#include "stdafx.h"
#include "wisbarsetup.h"
#include "PropOrder.h"

#include "SetupDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CPropOrder 僾儘僷僥傿 儁乕僕

IMPLEMENT_DYNCREATE(CPropOrder, CPropertyPage)

CPropOrder::CPropOrder() : CPropertyPage(CPropOrder::IDD)
{
	//{{AFX_DATA_INIT(CPropOrder)
		// 儊儌 - ClassWizard 偼偙偺埵抲偵儊儞僶偺弶婜壔張棟傪捛壛偟傑偡丅
	//}}AFX_DATA_INIT
	initialized = false;
}

CPropOrder::~CPropOrder()
{
}

void CPropOrder::DoDataExchange(CDataExchange* pDX)
{
	CPropertyPage::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CPropOrder)
	DDX_Control(pDX, IDC_ORDER, m_lstOrder);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CPropOrder, CPropertyPage)
	//{{AFX_MSG_MAP(CPropOrder)
	ON_NOTIFY(UDN_DELTAPOS, IDC_SPIN, OnDeltaposSpin)
	ON_BN_CLICKED(IDC_APPLYNOW, OnApplynow)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// 弶婜昞帵
BOOL CPropOrder::OnInitDialog() 
{
	CPropertyPage::OnInitDialog();

  resetItems();

	initialized = true;
	return( TRUE );
}

/////////////////////////////////////////////////////////////////////////////
// 弴彉擖傟懼偊
void CPropOrder::OnDeltaposSpin(NMHDR* pNMHDR, LRESULT* pResult) 
{
	CString	strBuf ;
	DWORD	dwSave ;
	NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR;

	int	iSel = m_lstOrder.GetCurSel();
	if ( iSel == LB_ERR ) {
		return ;
	}

	if ( ((iSel + pNMUpDown->iDelta) < 0) || ((iSel + pNMUpDown->iDelta) >= m_lstOrder.GetCount()) ) {
		return ;
	}

	// 慖戰拞偺傾僀僥儉傪曐懚丒嶍彍
	m_lstOrder.GetText( iSel,strBuf );
	dwSave = m_lstOrder.GetItemData( iSel );
	m_lstOrder.DeleteString( iSel );

	// 憓擖
	m_lstOrder.InsertString( iSel+pNMUpDown->iDelta,strBuf );
	m_lstOrder.SetItemData( iSel+pNMUpDown->iDelta,dwSave );
	m_lstOrder.SetCurSel( iSel+pNMUpDown->iDelta );

	*pResult = 0 ;
}

/////////////////////////////////////////////////////////////////////////////
// 揔梡
BOOL CPropOrder::OnApply() 
{
	for ( int iIdx = 0 ; iIdx < m_lstOrder.GetCount() ; iIdx++ ) {
		m_pOpt->cbOrder[iIdx] = (BYTE)m_lstOrder.GetItemData( iIdx );
	}

	return CPropertyPage::OnApply();
}

/////////////////////////////////////////////////////////////////////////////
// 揔梡
void CPropOrder::OnApplynow() 
{
	CSetupDlg*	pParent = (CSetupDlg*)GetParent();

	OnApply();

	pParent->ApplyNow();
}

/////////////////////////////////////////////////////////////////////////////
// 尰嵼偺弴彉傪昞帵
BOOL CPropOrder::OnSetActive() 
{
	BOOL	bShow ;
	int		iAdded,iNoDisp ;
	BYTE	cbNoDisp[ORDER_ID_MAX];
	LPCTSTR	lpItems[]	=	{	ORDER_DATE,
								ORDER_CLOCK,
								ORDER_SMALLDATE,
								ORDER_SYSTEM,
								ORDER_TODAY,
								ORDER_MENU,
								ORDER_OKCLOSE,
								ORDER_NOTIFY,
								ORDER_CONNECT,
								NULL
							};


	m_lstOrder.ResetContent();
	iNoDisp = 0 ;
	for ( int iIdx = 0 ; iIdx < ORDER_ID_MAX ; iIdx++ ) {
		bShow = FALSE ;
		switch ( m_pOpt->cbOrder[iIdx] ) {
			case ORDER_ID_DATE:
				if ( !m_pOpt->bSmallDate && m_pOpt->bDate ) {
					bShow = TRUE ;
				}
				break ;
			case ORDER_ID_CLOCK:
				if ( !m_pOpt->bSmallDate && m_pOpt->bClock ) {
					bShow = TRUE ;
				}
				break ;
			case ORDER_ID_SMALLDATE:
				if ( m_pOpt->bSmallDate ) {
					bShow = TRUE ;
				}
				break ;
			case ORDER_ID_SYSTEM:
				if ( m_pOpt->bSystem ) {
					bShow = TRUE ;
				}
				break ;
			case ORDER_ID_TODAY:
				if ( m_pOpt->ico[WIS_ICO_TODAY].bDsp ) {
					bShow = TRUE ;
				}
				break ;
			case ORDER_ID_MENU:
				if ( m_pOpt->ico[WIS_ICO_LIST].bDsp ) {
					bShow = TRUE ;
				}
				break ;
			case ORDER_ID_NOTIFY:
				bShow = m_pOpt->bNotification;
				break;
			case ORDER_ID_CONNECT:
				bShow = m_pOpt->ico[WIS_ICO_CONNECT].bDsp;
				break;
			default:
				bShow = TRUE ;
				break ;
		}
		if ( bShow ) {
			iAdded = m_lstOrder.AddString( lpItems[m_pOpt->cbOrder[iIdx]] );
			m_lstOrder.SetItemData( iAdded,(DWORD)m_pOpt->cbOrder[iIdx] );
		}
		else {
			cbNoDisp[iNoDisp++] = m_pOpt->cbOrder[iIdx];
		}
	}
	iNoDisp = 0 ;
	for ( iIdx = m_lstOrder.GetCount() ; iIdx < ORDER_ID_MAX ; iIdx++ ) {
		m_pOpt->cbOrder[iIdx] = cbNoDisp[iNoDisp++];
	}

	m_lstOrder.SetCurSel( 0 );

	return CPropertyPage::OnSetActive();
}

/////////////////////////////////////////////////////////////////////////////
// 擖椡撪梕傪斀塮
BOOL CPropOrder::OnKillActive()
{
	for ( int iIdx = 0 ; iIdx < m_lstOrder.GetCount() ; iIdx++ ) {
		m_pOpt->cbOrder[iIdx] = (BYTE)m_lstOrder.GetItemData( iIdx );
	}

	return CPropertyPage::OnKillActive();
}

void CPropOrder::resetItems()
{
}

⌨️ 快捷键说明

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