基于对话框的项目,拖入一个EditText控件和一个Button控件
双击按钮,进入按钮事件函数
/// <summary>
/// 产生int伪随机数
/// </summary>
/// <param name="MIN">最小值</param>
/// <param name="MAX">最大值</param>
/// <returns></returns>
int CMFCApplicationTestDlg::GetRand(int MIN, int MAX)//产生随机数
{
int max;
max = RAND_MAX;//rand()函数随机数的最大值
return (int)(rand() * (MAX - MIN) / max + MIN);
}
/// <summary>
/// 产生double伪随机数
/// </summary>
/// <param name="MIN">最小值</param>
/// <param name="MAX">最大值</param>
/// <returns></returns>
double CMFCApplicationTestDlg::GetRand(double MIN, double MAX)//产生随机数
{
int max;
max = RAND_MAX;//rand()函数随机数的最大值
return (double)(rand() * (MAX - MIN) / max + MIN);
}
void CMFCApplicationTestDlg::OnBnClickedButton1()
{
CWnd* cWnd = GetDlgItem(IDC_EDIT1);
// TODO: 在此添加控件通知处理程序代码
CString temp = _T("");
DWORD threadID= GetCurrentThreadId();
//srand((unsigned int)time(NULL));//主线程中可以用time作为种子
srand(threadID);//多线程情况下,工作线程可以用线程的ID作为中子
for (int i = 0; i <= 300; i++) {
CString PbStr;
double d = GetRand(-240.000, 240.000);
PbStr.Format(_T("%.3lf"), d);
cWnd->GetWindowTextW(temp);
temp = temp + PbStr + _T("\r\n");
cWnd->SetWindowTextW(temp);
cWnd->RedrawWindow();
}
}
运行效果