📄 infodialog.cpp
字号:
// InfoDialog.cpp : implementation file
//
#include "stdafx.h"
#include "Sy4.h"
#include "InfoDialog.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CInfoDialog dialog
CInfoDialog::CInfoDialog(CWnd* pParent /*=NULL*/)
: CDialog(CInfoDialog::IDD, pParent)
{
//{{AFX_DATA_INIT(CInfoDialog)
m_sName = _T("");
m_nAge = 0;
m_nSex = -1;
m_bSwim = FALSE;
m_bSki = FALSE;
m_bClimb = FALSE;
//}}AFX_DATA_INIT
}
void CInfoDialog::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CInfoDialog)
DDX_Control(pDX, IDC_LOYALVAL, m_stLoyal);
DDX_Control(pDX, IDC_LOYAL, m_cLoyal);
DDX_Control(pDX, IDC_SCHOOL, m_lbSchool);
DDX_Control(pDX, IDC_PROF, m_cbProf);
DDX_Control(pDX, IDC_SPIN, m_cSpin);
DDX_Text(pDX, IDC_NAME, m_sName);
DDX_Text(pDX, IDC_AGE, m_nAge);
DDX_Radio(pDX, IDC_MAN, m_nSex);
DDX_Check(pDX, IDC_SWIM, m_bSwim);
DDX_Check(pDX, IDC_SKI, m_bSki);
DDX_Check(pDX, IDC_CLIMB, m_bClimb);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CInfoDialog, CDialog)
//{{AFX_MSG_MAP(CInfoDialog)
ON_NOTIFY(NM_RELEASEDCAPTURE, IDC_LOYAL, OnReleasedcaptureLoyal)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CInfoDialog message handlers
BOOL CInfoDialog::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
//对学位列表框进行初始化,形成选项列表
m_lbSchool.AddString("学士");
m_lbSchool.AddString("硕士");
m_lbSchool.AddString("博士");
//对职称列表框进行初始化,形成其选项列表
m_cbProf.AddString("教授");
m_cbProf.AddString("副教授");
m_cbProf.AddString("讲师");
m_cbProf.AddString("助教");
m_cbProf.SetCurSel(2); //设置当前选项为讲师
m_nAge=25; //设年龄初值为25
m_nSex=0; //设置性别为男
UpdateData(FALSE); //将变量的值传递给控件
m_cSpin.SetRange(0,100); //设置控制年龄微调器控件的范围
m_cLoyal.SetRange(0,100); //设置控制忠诚度滑块控件的范围
m_cLoyal.SetPos(50); //设置初始忠诚度为50
CString Info;
Info.Format("%d",m_cLoyal.GetPos());
m_stLoyal.SetWindowText(Info); //将忠诚度的值显示在静态文本控件中
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CInfoDialog::OnReleasedcaptureLoyal(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
CString Info;
Info.Format("%d",m_cLoyal.GetPos());
m_stLoyal.SetWindowText(Info);
*pResult = 0;
}
void CInfoDialog::OnOK()
{
// TODO: Add extra validation here
UpdateData(); //将控件中的内容传给对应的变量
CString Info;
Info=m_sName;
Info+="今年";
CString temp;
temp.Format("%d 岁",m_nAge);
Info+=temp+",";
if(m_nSex==0) //判断性别变量,如果为0,是男,否则为女
Info+="他是个男同志\n";
else
Info+="她是个女同志\n";
Info+="其职称是:";
m_cbProf.GetWindowText(temp); //取得职称组合框中编辑框中的文本
Info+=temp;
Info+=",";
int i=m_lbSchool.GetCurSel();
if(i!=-1) //选中了某项
{
m_lbSchool.GetText(i,temp); //取得选中项的字符串
Info+="学位是"+temp;
}
//取得忠诚度滑块的当前位置
temp.Format("\n 这个人的忠诚度是%d%%\n",m_cLoyal.GetPos());
Info+=temp;
temp="";
if(m_bClimb)
temp+="爬山 ";
if(m_bSwim)
temp+="游泳 ";
if(m_bSki)
temp+="滑冰";
if(temp.IsEmpty())
temp="此人没什么爱好\n";
else
temp="此人的爱好是:"+temp;
Info+=temp;
AfxMessageBox(Info);
CDialog::OnOK();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -