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