第一次在csdn发文章哈哈~
一个操作系统实验课的作业:多线程计算圆周率的值,要求可以中间通过暂停按钮暂停计算,并且可以继续进行下去。
要求有界面,所以采用mfc编程。
1、新建一个基于对话框的mfc应用程序。
用工具栏拉出一个新的按钮,改变其内容为“欢迎进入π计算程序”,调整到自己喜欢的位置。(图片是自己后期自己p图再加上去的,不用在意,添加方法最后会说的)
2、新建一个对话框。
打开资源视图,对着左边Diglog右键-添加资源,点击“新建”,新建的默认对话框名为IDD_DIALOG1,我没有改哈,好习惯是自己改了。
3、然后就是从右侧工具栏拉进来必要的组件
我拉进来一个静态框,修改默认的id为IDC_STATIC1(这一步必须修改),并且删除了默认的显示文字(把caption选项里的文字清除即可),加了边框。
又拉进来一个“开始计算“”的按钮,响应函数后面会说。
拉进来一个“暂停”的按钮,响应函数后面会说。
删去了原有的无用的“确定按钮”。
4、编码。
在原来的对话框中双击“欢迎进入π计算程序”的按钮,编写响应函数
void CpipipiDlg::OnBnClickedButton1()
{
testdlg *test = new testdlg;
test ->Create(IDD_DIALOG1,this);
test ->ShowWindow(SW_SHOW);
// TODO: 在此添加控件通知处理程序代码
}
即点击这个按钮会弹出新的ID为IDD_DIALOG1的对话框
回到新的对话框。嗯,接下来就有点复杂了。。。
首先我们定义了全局变量lock,并且在对话框的默认构造函数中添加了lock=0,lock的意义在于控制是否继续往下计算。
双击“开始”按钮,添加响应函数&#