MFC练习3:使用对话框与控件

现在我们来创建一个多文档工程,在其中加入一个口令对话框,以防止非法用户侵入。实现效果即为:出现一对话框要求用户输入口令,口令不正确显示错误并退出。若按下取消键,那也退出。如果正确,则进入程序。

Ⅰ、创建工程与编辑对话框资源

1>以Dialog为名,创建多文档工程

2>在Resource View标签展开Dialog Resources|Dialog条目

3>选中Dialog右键Insert Dialog命令

4>将新增加的IDD_DIALOG1在右键的Properties里修改为IDD_PASSWORD_DIALOG,并将标题设为“口令”

5>在Control中点击Static Text添加控件,并在其Properties里改为“输入口令:”

6>在Control中点击Edit Box添加控件,将其默认ID改为IDC_PASSWORD_EDIT,并在其Style里选中Password属性

7>移动相关控件,按自己喜好布置

Ⅱ、创建对话框类并写入代码

1>按下Ctrl+W弹出MFC ClassWizard对话框,系统检测到刚才新建的资源没有关联对应的类,弹出是否Adding Class的对话框,当然是OK了

2>以CPasswordDialog为名建立新类

3>在Member Variables标签里点击IDC_PASSWORD_EDIT,并单击Add Member Variable添加整形变量m_Password(关联变量与按钮)

4>此时Member Variable里下面会新增两个小窗口,在Minimun Value与Maximum Value里输入口令范围

5>在Dialog.cpp里加入头文件#include "PasswordDialog.h"

6>在CDialogApp里的InitInstance()函数里加入下列代码

CPasswordDialog cDlg;//建立对象
if(cDlg.DoModal()==IDOK)//用户按下确定
{
	if(cDlg.m_Password!=1925)//口令值应为1925
	{
		AfxMessageBox("口令错误,确定后退出。");//口令不对,显示错误信息
		return FALSE;
	}
}
else return FALSE;//按下取消,程序结束
return TRUE;//口令正确

7>编译并运行程序,检测结果

说明:一般通过调用MessageBox或AfxMessageBox弹出最原始而常用的对话框,该对话框包含信息内容、标题、图标和按钮等,当然就可以在程序调试过程中显示一些变量的值。此消息对话框的风格由图标和按钮组合而成,可使用'|'或'+'实现图标和按钮的组合,如MessageBox("出现问题","警告",MB_ICONWARNING+MB_DEFBUTTON2)。

//函数原型int MessageBox(HWND hWnd,LPCTSTR lpTest,LPCTSTR lpCaption,UNIT uType);
//HWND hWnd 父窗口的局柄
//LPCTSTR lpTest 指向窗口信息地址的指针
//LPCTSTR lpCaption 指向窗口标题地址的指针
//UNIT uType 消息对话框的风格

/*
下简单介绍几个
1、按钮类型
MB_ABORTRETRYIGNORE  放弃、重试、忽略
MB_OK                确定
MB_OKCANCEL          确定、取消
MB_RETRYCANCEL       重试、取消
MB_YESNO             是、否
MB_YESNOCANCEL       是、否、取消
2、函数返回
IDABORT  放弃 按钮按下
IDCANCEL 取消 按钮按下
IDIGNORE 忽略 按钮按下
IDNO     否   按钮按下
IDOK     确定 按钮按下
IDRETRY  重试 按钮按下
IDYES    是   按钮按下
*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值