📄 proporder.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 + -