编译环境:Visual C++ 6.0
导语:Visual C++是一款功能非常强大的编辑器,它可以编写许多不同的应用或工程,这次我就讲MFC中基于对话框的工程吧。
首先,来介绍一下对话框中一些基本的函数:
//将m_Check(控件关联的变量名)禁用
m_Check.EnableWindow(false); //true为启用
//弹出一个对话框
MessageBox("内容","标题",属性);
//详细请见:http://blog.csdn.net/yali_xunzhen/article/details/50676832
//m_Read为控件关联的变量名
m_Read.GetWindowText(str); //读取编辑框里的数字
atoi(str) //atoi是将字符串转换为数字
废话不多说,下面我来举一个例子(猜数字游戏):
1.首先打开Visual C++,Ctrl+N(新建)->工程->MFC [exe]->确定->基本对话框->完成
2.向对话框里添加一个静态文本,一个编辑框,三个按钮控件,并修改相关属性,如下图所示:
然后Ctrl+W打开类向导,分别给显示答案、确定和编辑框关联变量:m_Show、m_Check、m_Read,具体如下图所示:
分别双击新游戏、显示答案、确定按钮,给他们添加以下代码:
//处理“新游戏”事件
void CMyDlg::OnButton1()
{
int k;
k=MessageBox("确定重新开始吗?","提示",4);
if (k==7) return;
srand(time(NULL)); //随机化语句
m_Show.EnableWindow(TRUE); //启用显示答案按钮
m_Check.EnableWindow(TRUE); //启用确定按钮
n=rand()%100+1; //产生一个随机数
s=0; //计数器清零
//MessageBox("已重新开始了一个新游戏","提示");
return;
}
//处理“显示答案”事件
void CMyDlg::OnButton2()
{
CString str;
str.Format("正确答案是%d",n); //Format是强制转换字符串
MessageBox(str,"",64); //弹出对话框
m_Show.EnableWindow(FALSE); //禁用显示答案按钮
m_Check.EnableWindow(FALSE);//禁用确定按钮
return;
}
//处理“确定”事件
void CMyDlg::OnButton3()
{
CString str;
m_Read.GetWindowText(str); //读取编辑框里的数字
if (strcmp(str,"")==0){
MessageBox("请输入你想猜的数字!");
return;
}
int a;
a=atoi(str); //atoi是将字符串转换为数字
s++; //计数器加一
if (a==n){
str.Format("恭喜你猜对了!\r\n你猜了%d次!",s);
MessageBox(str);
m_Show.EnableWindow(FALSE);
m_Check.EnableWindow(FALSE);
return;
}
if (a<n) MessageBox("猜小了!");
else MessageBox("猜大了!");
return;
}
然后,Ctrl+F5运行程序,就OK了!
点击下载本例源代码:猜数字游戏下载
提取码:4107
敬请期待……