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

📄 personalpage.cpp

📁 地址本
💻 CPP
字号:
// PersonalPage.cpp : implementation file
//

#include "stdafx.h"
#include "Address.h"
#include "PersonalPage.h"

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

/////////////////////////////////////////////////////////////////////////////
// CPersonalPage property page

IMPLEMENT_DYNCREATE(CPersonalPage, CPropertyPage)

CPersonalPage::CPersonalPage() : CPropertyPage(CPersonalPage::IDD)
{
	//{{AFX_DATA_INIT(CPersonalPage)
	m_strEMail = _T("");
	m_strFirstName = _T("");
	m_strLastName = _T("");
	m_strMiddleName = _T("");
	m_strName = _T("");
	m_strNickName = _T("");
	m_strNotes = _T("");
	//}}AFX_DATA_INIT
}

CPersonalPage::~CPersonalPage()
{
}

void CPersonalPage::DoDataExchange(CDataExchange* pDX)
{
	CPropertyPage::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CPersonalPage)
	DDX_Text(pDX, IDC_EMAIL, m_strEMail);
	DDX_Text(pDX, IDC_FIRSTNAME, m_strFirstName);
	DDX_Text(pDX, IDC_LASTNAME, m_strLastName);
	DDX_Text(pDX, IDC_MIDDLENAME, m_strMiddleName);
	DDX_CBString(pDX, IDC_NAME, m_strName);
	DDX_Text(pDX, IDC_NICKNAME, m_strNickName);
	DDX_Text(pDX, IDC_NOTES, m_strNotes);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CPersonalPage, CPropertyPage)
	//{{AFX_MSG_MAP(CPersonalPage)
	ON_EN_CHANGE(IDC_FIRSTNAME, OnDisplayName)
	ON_CBN_EDITCHANGE(IDC_NAME, OnEditchangeName)
	ON_EN_CHANGE(IDC_MIDDLENAME, OnDisplayName)
	ON_EN_CHANGE(IDC_LASTNAME, OnDisplayName)
	ON_CBN_DROPDOWN(IDC_NAME, OnDropdownName)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CPersonalPage message handlers

void CPersonalPage::OnDisplayName() 
{
	// TODO: If this is a RICHEDIT control, the control will not
	// send this notification unless you override the CPropertyPage::OnInitDialog()
	// function to send the EM_SETEVENTMASK message to the control
	// with the ENM_CHANGE flag ORed into the lParam mask.
	if (m_bIsNameModifiable) {
		CString strName;
		strName = DisplayName();
		SetDlgItemText(IDC_NAME, strName);
	}
}

CString CPersonalPage::DisplayName()
{
	CString strName;
	CString strText;

	GetDlgItemText(IDC_FIRSTNAME, strName);
	GetDlgItemText(IDC_MIDDLENAME, strText);
	if (!strText.IsEmpty())
		strName = strName + " " + strText;
	GetDlgItemText(IDC_LASTNAME, strText);
	if (!strText.IsEmpty())
		strName = strName + " " + strText;
	return strName;
}

BOOL CPersonalPage::OnInitDialog() 
{
	CPropertyPage::OnInitDialog();

	m_bIsNameModifiable= false;

	if (m_strName.IsEmpty()) {
		m_bIsNameModifiable= true;
	}

	if (strncmp(m_strName, m_strFirstName, m_strFirstName.GetLength()) == NULL) {
		m_bIsNameModifiable = true;
	}
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CPersonalPage::OnEditchangeName() 
{
	m_bIsNameModifiable = false;
}

void CPersonalPage::OnDropdownName() 
{
	CComboBox* pctlName = (CComboBox*)GetDlgItem(IDC_NAME);
	CString strText;
	CString strNickName;

	GetDlgItemText(IDC_NICKNAME, strNickName);
	pctlName->GetWindowText(strText);
	pctlName->ResetContent();
	pctlName->SetWindowText(strText);
	if (m_bIsNameModifiable == false) {
		pctlName->AddString(strText);
	}
	pctlName->AddString(DisplayName());

	if (!strNickName.IsEmpty())
		pctlName->AddString(strNickName);

}

⌨️ 快捷键说明

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