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

📄 advoptionspage.cpp

📁 强大易用的邮件收发客户端
💻 CPP
字号:
// AdvOptionsPage.cpp : implementation file
//

#include "stdafx.h"
#include "magic.h"
#include "AdvOptionsPage.h"

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

/////////////////////////////////////////////////////////////////////////////
// CAdvOptionsPage property page

IMPLEMENT_DYNCREATE(CAdvOptionsPage, CPropertyPage)

CAdvOptionsPage::CAdvOptionsPage() : CPropertyPage(CAdvOptionsPage::IDD)
{
	//{{AFX_DATA_INIT(CAdvOptionsPage)
	m_bLog = (theApp.m_dwFlags & MMF_LOG_DELETED)!=0;
	m_nLogSize = theApp.m_nMaxLogSize;
	m_bColor = (theApp.m_dwFlags & MMF_COLOR_FRIEND)!=0;
	m_bSingle = (theApp.m_dwFlags & MMF_SINGLE)!=0;
	m_bAllDel = (theApp.m_dwFlags & MMF_LOG_FILTER)==0;
	m_bDbl = (theApp.m_dwFlags & MMF_CHECK_DBL)!=0;
	m_bFont = (theApp.m_dwFlags & MMF_FONT)!=0;;
	m_bSmartSort = (theApp.m_dwFlags & MMF_SMART_SORT)!=0;
	m_bProtectFriend = (theApp.m_dwFlags & MMF_PROTECT)!=0;
	//}}AFX_DATA_INIT
	m_clrFriend = theApp.m_clrFriends;

	LOGFONT* pLF = &theApp.m_lfMain;
	if (!m_bFont)
		pLF = &theApp.m_lfDef;
		
	memcpy(&m_lfMain, pLF, sizeof(LOGFONT));
	m_fntMain.CreateFontIndirect(&m_lfMain);
}

CAdvOptionsPage::~CAdvOptionsPage()
{
}

void CAdvOptionsPage::DoDataExchange(CDataExchange* pDX)
{
	CPropertyPage::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAdvOptionsPage)
	DDX_Control(pDX, IDC_CLR_SAMPLE, m_Sample);
	DDX_Check(pDX, IDC_LOG_DEL, m_bLog);
	DDX_Text(pDX, IDC_MAX_LOG, m_nLogSize);
	DDX_Check(pDX, IDC_FRIEND_COLOR, m_bColor);
	DDX_Check(pDX, IDC_SINGLE, m_bSingle);
	DDX_Check(pDX, IDC_ALL_DEL, m_bAllDel);
	DDX_Check(pDX, IDC_DBL_CHECK, m_bDbl);
	DDX_Check(pDX, IDC_FONT, m_bFont);
	DDX_Check(pDX, IDC_SORT_SMART, m_bSmartSort);
	DDX_Check(pDX, IDC_CHECK1, m_bProtectFriend);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CAdvOptionsPage, CPropertyPage)
	//{{AFX_MSG_MAP(CAdvOptionsPage)
	ON_BN_CLICKED(IDC_CLR_BRS, OnClrBrs)
	ON_BN_CLICKED(IDC_FRIEND_COLOR, OnFriendColor)
	ON_BN_CLICKED(IDC_FONT_BRS, OnFontBrs)
	ON_BN_CLICKED(IDC_FONT, UpdateButtons)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CAdvOptionsPage message handlers

BOOL CAdvOptionsPage::OnInitDialog() 
{
	CPropertyPage::OnInitDialog();
	DlgTranslate(this);
	
	m_Sample.SetColor(!m_bColor, m_clrFriend);
	
	UpdateButtons();

	return TRUE;
}

BOOL CAdvOptionsPage::OnApply() 
{
	if (m_bLog)
		theApp.m_dwFlags |= MMF_LOG_DELETED;
	else
		theApp.m_dwFlags &= ~MMF_LOG_DELETED;
	if (m_bAllDel)
		theApp.m_dwFlags &= ~MMF_LOG_FILTER;
	else
		theApp.m_dwFlags |= MMF_LOG_FILTER;

	theApp.m_nMaxLogSize = m_nLogSize;
	if (m_bColor)
		theApp.m_dwFlags |= MMF_COLOR_FRIEND;
	else
		theApp.m_dwFlags &= ~MMF_COLOR_FRIEND;
	if (m_bProtectFriend)
		theApp.m_dwFlags |= MMF_PROTECT;
	else
		theApp.m_dwFlags &= ~MMF_PROTECT;
	if (m_bSingle)
		theApp.m_dwFlags |= MMF_SINGLE;
	else
		theApp.m_dwFlags &= ~MMF_SINGLE;
	if (m_bSmartSort)
		theApp.m_dwFlags |= MMF_SMART_SORT;
	else
		theApp.m_dwFlags &= ~MMF_SMART_SORT;
	if (m_bDbl)
		theApp.m_dwFlags |= MMF_CHECK_DBL;
	else
		theApp.m_dwFlags &= ~MMF_CHECK_DBL;
	theApp.m_clrFriends = m_clrFriend;
	if (m_bFont)
		theApp.m_dwFlags |= MMF_FONT;
	else
		theApp.m_dwFlags &= ~MMF_FONT;
	theApp.SetFont(m_lfMain);
	
	return TRUE;
}

void CAdvOptionsPage::OnClrBrs() 
{
	UpdateData();
	CColorDialog dlg(m_clrFriend);
	if (dlg.DoModal()!=IDOK)
		return;
	m_clrFriend = dlg.GetColor();
	m_Sample.SetColor(!m_bColor, m_clrFriend);
}

void CAdvOptionsPage::OnFriendColor() 
{
	UpdateData();
	m_Sample.SetColor(!m_bColor, m_clrFriend);
}

void CAdvOptionsPage::OnFontBrs() 
{
	if (!DoChangeFont(m_fntMain, &m_lfMain))
		return;
	UpdateButtons();	
}

void CAdvOptionsPage::UpdateButtons()
{
	UpdateData();
	GetDlgItem(IDC_FONT_BRS)->SetFont(&m_fntMain);
	GetDlgItem(IDC_FONT_BRS)->EnableWindow(m_bFont);
	
	CString str;
	GetFontName(m_lfMain, str);
	SetDlgItemText(IDC_FONT_BRS, str);

}

⌨️ 快捷键说明

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