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

📄 infodialog.cpp

📁 简单信息采集程序
💻 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 + -