⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dlaytestdlg.cpp

📁 测试人反映时间,test one 测试10组反映时间,如果test one 的成绩在0.5s以下 就可打中test two中的测试载体。
💻 CPP
字号:
// DlayTestDlg.cpp : implementation file
//

#include "stdafx.h"
#include "DlayTest.h"
#include "DlayTestDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog
{
public:
	CAboutDlg();

// Dialog Data
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAboutDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	//{{AFX_MSG(CAboutDlg)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)
	//}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAboutDlg)
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
	//{{AFX_MSG_MAP(CAboutDlg)
		// No message handlers
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDlayTestDlg dialog

CDlayTestDlg::CDlayTestDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CDlayTestDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDlayTestDlg)
	m_GetTime = 0.0f;
	m_DataList = _T("");
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CDlayTestDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDlayTestDlg)
	DDX_Control(pDX, IDC_PROGRESS_TIMER, m_Progress_Timer);
	DDX_Text(pDX, IDC_GETTIME, m_GetTime);
	DDX_LBString(pDX, IDC_DATALIST, m_DataList);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CDlayTestDlg, CDialog)
	//{{AFX_MSG_MAP(CDlayTestDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDC_START, OnStart)
	ON_WM_TIMER()
	ON_BN_CLICKED(IDC_BUTTON0, OnButton0)
	ON_BN_CLICKED(IDC_BUTTON1, OnButton1)
	ON_BN_CLICKED(IDC_BUTTON2, OnButton2)
	ON_BN_CLICKED(IDC_BUTTON3, OnButton3)
	ON_BN_CLICKED(IDC_BUTTON4, OnButton4)
	ON_BN_CLICKED(IDC_BUTTON5, OnButton5)
	ON_BN_CLICKED(IDC_BUTTON6, OnButton6)
	ON_BN_CLICKED(IDC_BUTTON7, OnButton7)
	ON_BN_CLICKED(IDC_BUTTON8, OnButton8)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDlayTestDlg message handlers

BOOL CDlayTestDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Add "About..." menu item to system menu.

	// IDM_ABOUTBOX must be in the system command range.
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	// TODO: Add extra initialization here

	list=(CListBox*)this->GetDlgItem(IDC_DATALIST);

	
/*	CPaintDC dc(this); 
	CRect rect;
	GetClientRect(&rect);      //得到当前对话框的尺寸
	dc.FillSolidRect(&rect,RGB(255,255,255));   //绘制对话框背景色*/
/*	BitmapBt0.LoadBitmap(IDB_BITMAP1);
	((CStatic*)GetDlgItem(IDC_STATIC)) -> SetBitmap((HBITMAP)BitmapBt0);*/

/*	m_BitmapBtStart.LoadBitmaps(IDB_BITMAP1,IDB_BITMAP2,IDB_BITMAP1);
	VERIFY(m_BitmapBtStart.SubclassDlgItem(IDC_START,this));
	m_BitmapBtStart.SizeToContent();*/

	m_BitmapBt0.LoadBitmaps(IDB_BITMAP3,IDB_BITMAP4,IDB_BITMAP3);
	VERIFY(m_BitmapBt0.SubclassDlgItem(IDC_BUTTON0,this));
	m_BitmapBt0.SizeToContent();

	m_BitmapBt1.LoadBitmaps(IDB_BITMAP3,IDB_BITMAP4,IDB_BITMAP3);
	VERIFY(m_BitmapBt1.SubclassDlgItem(IDC_BUTTON1,this));
	m_BitmapBt1.SizeToContent();

	m_BitmapBt2.LoadBitmaps(IDB_BITMAP3,IDB_BITMAP4,IDB_BITMAP3);
	VERIFY(m_BitmapBt2.SubclassDlgItem(IDC_BUTTON2,this));
	m_BitmapBt2.SizeToContent();

	m_BitmapBt3.LoadBitmaps(IDB_BITMAP3,IDB_BITMAP4,IDB_BITMAP3);
	VERIFY(m_BitmapBt3.SubclassDlgItem(IDC_BUTTON3,this));
	m_BitmapBt3.SizeToContent();

	m_BitmapBt4.LoadBitmaps(IDB_BITMAP3,IDB_BITMAP4,IDB_BITMAP3);
	VERIFY(m_BitmapBt4.SubclassDlgItem(IDC_BUTTON4,this));
	m_BitmapBt4.SizeToContent();

	m_BitmapBt5.LoadBitmaps(IDB_BITMAP3,IDB_BITMAP4,IDB_BITMAP3);
	VERIFY(m_BitmapBt5.SubclassDlgItem(IDC_BUTTON5,this));
	m_BitmapBt5.SizeToContent();

	m_BitmapBt6.LoadBitmaps(IDB_BITMAP3,IDB_BITMAP4,IDB_BITMAP3);
	VERIFY(m_BitmapBt6.SubclassDlgItem(IDC_BUTTON6,this));
	m_BitmapBt6.SizeToContent();

	m_BitmapBt7.LoadBitmaps(IDB_BITMAP3,IDB_BITMAP4,IDB_BITMAP3);
	VERIFY(m_BitmapBt7.SubclassDlgItem(IDC_BUTTON7,this));
	m_BitmapBt7.SizeToContent();

	m_BitmapBt8.LoadBitmaps(IDB_BITMAP3,IDB_BITMAP4,IDB_BITMAP3);
	VERIFY(m_BitmapBt8.SubclassDlgItem(IDC_BUTTON8,this));
	m_BitmapBt8.SizeToContent();


	GetDlgItem(IDC_BUTTON0) -> ShowWindow(SW_HIDE);
	GetDlgItem(IDC_BUTTON1) -> ShowWindow(SW_HIDE);
	GetDlgItem(IDC_BUTTON2) -> ShowWindow(SW_HIDE);
	GetDlgItem(IDC_BUTTON3) -> ShowWindow(SW_HIDE);
	GetDlgItem(IDC_BUTTON4) -> ShowWindow(SW_HIDE);
	GetDlgItem(IDC_BUTTON5) -> ShowWindow(SW_HIDE);
	GetDlgItem(IDC_BUTTON6) -> ShowWindow(SW_HIDE);
	GetDlgItem(IDC_BUTTON7) -> ShowWindow(SW_HIDE);
	GetDlgItem(IDC_BUTTON8) -> ShowWindow(SW_HIDE);
//	GetDlgItem(IDC_STATIC)->SetTextColor(RGB(0,255,255));   
	
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CDlayTestDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
		CDialog::OnSysCommand(nID, lParam);
	}
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CDlayTestDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CPaintDC    dc(this);   
        CRect    rect;     
        GetClientRect(rect);     
		dc.FillSolidRect(rect,    RGB(45,122,255));  
		CDialog::OnPaint();
	}
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CDlayTestDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

void CDlayTestDlg::OnStart() 
{
	// TODO: Add your control notification handler code here
	//time_t t;
	CountNum=0;
	StPush=true;
//	Bitmap2.LoadBitmap(IDB_BITMAP2);
//	((CStatic*)GetDlgItem(IDC_STATIC)) -> SetBitmap((HBITMAP)Bitmap2);
	Sleep(2000);
	SetTimer(1,1,NULL);

/*	int RandomNum;
	int nID;
	for(int i =0 ; i <5 ; i++)
	{
		
		RandomNum=rand()%9;
		switch(RandomNum)
		{
		case 0:
			nID=IDC_BUTTON0;
			break;
		case 1:
			nID=IDC_BUTTON1;
			break;
		case 2:
			nID=IDC_BUTTON2;
			break;
		case 3:
			nID=IDC_BUTTON3;
			break;
		case 4:
			nID=IDC_BUTTON4;
			break;
		case 5:
			nID=IDC_BUTTON5;
			break;
		case 6:
			nID=IDC_BUTTON6;
			break;
		case 7:
			nID=IDC_BUTTON7;
			break;
		case 8:
			nID=IDC_BUTTON8;
			break;
		}
	
	
	GetDlgItem(nID)->ShowWindow(SW_SHOW);
	UpdateWindow();
	Sleep(1000);
	GetDlgItem(nID)->ShowWindow(SW_HIDE);*/	//
	//Invalidate();
/*	RandomNum=rand()%300;
	nID=rand()%100;
		GetDlgItem(IDC_BUTTON0)->MoveWindow( CRect(RandomNum,nID,RandomNum+70,nID+70) ); */ 
//	}
}

void CDlayTestDlg::OnTimer(UINT nIDEvent) 
{
	// TODO: Add your message handler code here and/or call default
	int RandomNum;
	int nID;
	int Timer;
	Timer=clock();
//	Sleep(1000);
//	Sleep(rand()%10*1000);
	if(StPush)
	{
		CountNum++;
		if(CountNum<=10)
		{
			RandomNum=rand()%9;
			switch(RandomNum)
			{
			case 0:
				nID=IDC_BUTTON0;
				break;
			case 1:
				nID=IDC_BUTTON1;
				break;
			case 2:
				nID=IDC_BUTTON2;
				break;
			case 3:
				nID=IDC_BUTTON3;
				break;
			case 4:
				nID=IDC_BUTTON4;
				break;
			case 5:
				nID=IDC_BUTTON5;
				break;
			case 6:
				nID=IDC_BUTTON6;
				break;
			case 7:
				nID=IDC_BUTTON7;
				break;
			case 8:
				nID=IDC_BUTTON8;
				break;
			}
		Sleep((rand()%10)*200);
		GetDlgItem(nID)->ShowWindow(SW_SHOW);
		UpdateWindow();
		
		}
		else
		{
			KillTimer(1);
		}
		BtShow = clock();
		StPush=false;
	}
	m_Progress_Timer.SetRange(0,10);
	m_Progress_Timer.SetPos(CountNum-1);
/*	m_Progress_Timer.ShowPercent(true);
	m_Progress_Timer.SetTextColor(RGB(0,0,0));
	m_Progress_Timer.SetStartColor(RGB(171,192,216));
	m_Progress_Timer.SetEndColor(RGB(255,0,0));
	m_Progress_Timer.SetBkColor(RGB(246,246,246));*/
	UpdateWindow();
	CDialog::OnTimer(nIDEvent);
	
}

void CDlayTestDlg::OnButton0() 
{
	// TODO: Add your control notification handler code here
	BtPush = clock();
	m_GetTime = (float)(BtPush - BtShow) / CLK_TCK;
	CString str,data;
	str.Format("%d",CountNum);
	data = str;
	data += ":";
	str.Format("%5.2f\n",(float)(BtPush - BtShow) / CLK_TCK);
	data+=str;
	list->AddString(data);
	UpdateData(false);
	GetDlgItem(IDC_BUTTON0)->ShowWindow(SW_HIDE);
	StPush=true;
}

void CDlayTestDlg::OnButton1() 
{
	// TODO: Add your control notification handler code here
	BtPush = clock();
	m_GetTime = (float)(BtPush - BtShow) / CLK_TCK;
	CString str,data;
	str.Format("%d",CountNum);
	data = str;
	data += ":";
	str.Format("%5.2f\n",(float)(BtPush - BtShow) / CLK_TCK);
	data+=str;
	list->AddString(data);
	UpdateData(false);
	GetDlgItem(IDC_BUTTON1)->ShowWindow(SW_HIDE);
	StPush=true;
}

void CDlayTestDlg::OnButton2() 
{
	// TODO: Add your control notification handler code here
	BtPush = clock();
	m_GetTime = (float)(BtPush - BtShow) / CLK_TCK;
	CString str,data;
	str.Format("%d",CountNum);
	data = str;
	data += ":";
	str.Format("%5.2f\n",(float)(BtPush - BtShow) / CLK_TCK);
	data+=str;
	list->AddString(data);
	UpdateData(false);
	GetDlgItem(IDC_BUTTON2)->ShowWindow(SW_HIDE);
	StPush=true;
}

void CDlayTestDlg::OnButton3() 
{
	// TODO: Add your control notification handler code here
	BtPush = clock();
	m_GetTime = (float)(BtPush - BtShow) / CLK_TCK;
	CString str,data;
	str.Format("%d",CountNum);
	data = str;
	data += ":";
	str.Format("%5.2f\n",(float)(BtPush - BtShow) / CLK_TCK);
	data+=str;
	list->AddString(data);
	UpdateData(false);
	GetDlgItem(IDC_BUTTON3)->ShowWindow(SW_HIDE);
	StPush=true;
}

void CDlayTestDlg::OnButton4() 
{
	// TODO: Add your control notification handler code here
	BtPush = clock();
	m_GetTime = (float)(BtPush - BtShow) / CLK_TCK;
	CString str,data;
	str.Format("%d",CountNum);
	data = str;
	data += ":";
	str.Format("%5.2f\n",(float)(BtPush - BtShow) / CLK_TCK);
	data+=str;
	list->AddString(data);
	UpdateData(false);
	GetDlgItem(IDC_BUTTON4)->ShowWindow(SW_HIDE);
	StPush=true;
}

void CDlayTestDlg::OnButton5() 
{
	// TODO: Add your control notification handler code here
	BtPush = clock();
	m_GetTime = (float)(BtPush - BtShow) / CLK_TCK;
	CString str,data;
	str.Format("%d",CountNum);
	data = str;
	data += ":";
	str.Format("%5.2f\n",(float)(BtPush - BtShow) / CLK_TCK);
	data+=str;
	list->AddString(data);
	UpdateData(false);
	GetDlgItem(IDC_BUTTON5)->ShowWindow(SW_HIDE);
	StPush=true;
}

void CDlayTestDlg::OnButton6() 
{
	// TODO: Add your control notification handler code here
	BtPush = clock();
	m_GetTime = (float)(BtPush - BtShow) / CLK_TCK;
	CString str,data;
	str.Format("%d",CountNum);
	data = str;
	data += ":";
	str.Format("%5.2f\n",(float)(BtPush - BtShow) / CLK_TCK);
	data+=str;
	list->AddString(data);
	UpdateData(false);
	GetDlgItem(IDC_BUTTON6)->ShowWindow(SW_HIDE);
	StPush=true;
}

void CDlayTestDlg::OnButton7() 
{
	// TODO: Add your control notification handler code here
	BtPush = clock();
	m_GetTime = (float)(BtPush - BtShow) / CLK_TCK;
	CString str,data;
	str.Format("%d",CountNum);
	data = str;
	data += ":";
	str.Format("%5.2f\n",(float)(BtPush - BtShow) / CLK_TCK);
	data+=str;
	list->AddString(data);
	UpdateData(false);
	GetDlgItem(IDC_BUTTON7)->ShowWindow(SW_HIDE);
	StPush=true;
}

void CDlayTestDlg::OnButton8() 
{
	// TODO: Add your control notification handler code here
	BtPush = clock();
	m_GetTime = (float)(BtPush - BtShow) / CLK_TCK;
	CString str,data;
	str.Format("%d",CountNum);
	data = str;
	data += ":";
	str.Format("%5.2f\n",(float)(BtPush - BtShow) / CLK_TCK);
	data+=str;
	list->AddString(data);
	UpdateData(false);
	GetDlgItem(IDC_BUTTON8)->ShowWindow(SW_HIDE);
	StPush=true;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -