“取消” 。 ③ 调整对话框的大小,将“确定”和“取消”按钮移至对话框的下方,然后显示对话 框网格。 ④ 参看图 2.1,向对话框添加如表 2.1 所示的控件。
表 2.1 添加的控件 编辑框 编辑框 ID 号 IDC_EDIT_NAME IDC_EDIT_NO 学生基本信息对话框添加的控件 标 题 默认 默认 其 他 属 性
—— ——
编辑框 旋转按钮控件 编辑框 旋转按钮控件 编辑框 旋转按钮控件
IDC_EDIT_S1 IDC_SPIN_S1 IDC_EDIT_S2 IDC_SPIN_S2 IDC_EDIT_S3 IDC_SPIN_S3
—— —— —— —— —— ——
默认 Auto buddy、Right 对齐 默认 Auto buddy、Set buddy integer、Right 对齐 默认 Auto bud0dy、Set buddy integer、Right 对齐
⑤ 双击对话框模板空白处,为该对话框模板创建一个对话框类 CInputDlg。 ⑥ 在 MFC Cla
ssWizard 的 Member Variables 页面中,确定 Class name 中是否已选择了 CInputDlg,选中所需的控件 ID 号,双击鼠标或单击 Add Variables 按钮。依次为表 2.2 控件 增加成员变量。
表 2.2 控件 ID 号 IDC_EDIT_NAME IDC_EDIT_NO IDC_EDIT_S1 IDC_SPIN_S1 IDC_EDIT_S2 IDC_SPIN_S2 IDC_EDIT_S3 IDC_SPIN_S3 变 量 类 别 Value Value Value Control Value Control Value Control CString CString float CSpinButtonCtrl float CSpinButtonCtrl float CSpinButtonCtrl 控件变量 变 量 名 范围和大小 20 20 0.0 ~ 100.0 —— 0.0 ~ 100.0 —— 0.0 ~ 100.0 ——
变 量 类 型
m_strName m_strNO m_fScore1 m_spinScore1 m_fScore2 m_spinScore2 m_fScore3 m_spinScore3
⑦ 在 MFC ClassWizard 的 Messsage Maps 页面中, CInputDlg 添加 WM_INITDIALOG 为 消息映射,并添加下列代码:
BOOL CInputDlg::OnInitDialog() { CDialog::OnInitDialog(); m_spinScore1.SetRange( 0, 100 ); m_spinScore2.SetRange( 0, 100 ); m_spinScore2.SetRange( 0, 100 ); return TRUE; } // return TRUE unless you set the focus to a control // 设置旋转按钮控件范围
⑧ 用 MFC ClassWizard 为 CInputDlg 增加 IDC_SPIN_S1 控件的 UDN_DELTAPOS 消息 映射,并添加下列代码:
void CInputDlg::OnDeltaposSpinS1(NMHDR* pNMHDR, LRESULT* pResult) { NM_UPDOWN* pNMUpDown = (NM_UPDOWN*)pNMHDR; UpdateData(TRUE); // 将控件的内容保存到变量中 m_fScore1 += (float)pNMUpDown->iDelta * 0.5f; if (m_fScor