工控编程吧
标题:
141上位机VC MFC编写打字练习软件实例
[打印本页]
作者:
qq263946146
时间:
2016-1-6 21:30
标题:
141上位机VC MFC编写打字练习软件实例
(, 下载次数: 8)
上传
点击文件名下载附件
141上位机VC MFC编写打字练习软件实例
功能展示
刚接触电脑的朋友都有练习打字速度的经历,我们这例程自己编写程序实现打字软件的开发,效果如图,点击开始进行字母输入练习,点击停止,可以出练习;
要点提示
例程中同时可显示10个字母,字母通过十个静态文字控件加载了字母位图后,进行显示;用户输入字母与静态文本控件表示的字母相同时,随机更换此控件图片,且设置控件的位置到窗口顶部;
10个静态控件位置由上到下漂移通过定时器设置控件窗口位置实现;
实现功能
1.新建基于对话框的应用程序
2.给工程添加A-Z字母位图和窗口背景位图;
添加八个编辑控件用于显示设置练习时间,打字数,错误数,漏打数,正确率,打字速度,已练习时间,字母下降速度,等信息,为了编程方便,每个控件都关联上变量 CEditm_Alternation; CEdit m_Timing; Cedit m_sNum; CEdit m_Veracity; Cedit m_uTime;
CEdit m_Rate; CEdit m_lNum;Cedit m_eNum;
3.添加变量 UINT m_Num[10]; //显示字母 CStatic m_Static[10];//静态控件显示字母int m_Error; //错误数 int m_Sum; //打字数 intm_Lose; //漏打数
int m_Time; //用时 BOOL m_IsStart; //开始 int m_iTime; //定时 int m_aTime; //间隔时间
4. OnInitDialog()中初始化已添加的变量 InitPanel();
for(inti=0;i<10;i++) { m_Static
.Create("",WS_CHILD|WS_CLIPSIBLINGS|
WS_EX_TOOLWINDOW|SS_BITMAP,CRect(0,0,50,50),GetDlgItem(IDC_RECT),1240+i);}
InitPanel();为自定义初始化函数
void CGkbc8Dlg::InitPanel()
{
m_IsStart = FALSE;
m_uTime.SetWindowText("时间:0分0秒");
m_sNum.SetWindowText("打字数:0个");
m_eNum.SetWindowText("错误数:0个");
m_lNum.SetWindowText("漏打数:0个");
m_Veracity.SetWindowText("正确率:0.0%");
m_Rate.SetWindowText("速度:0个/分");
m_Timing.SetWindowText("1");
m_Alternation.SetWindowText("500");
}
复制代码
后面依次添加m_Num, m_Static 变量的设置函数void SetBitmap(int num); void RandLetter();用户字母输入消息判断函数PreTranslateMessage(); 定时器处理函数OnTimer()及练习开结束函数OnStart(), OnStop()函数体为
void CGkbc8Dlg::RandLetter()
{
CTime time = CTime::GetCurrentTime();
srand(time.GetHour()+time.GetMinute()+time.GetSecond());
for(int i=0;i<10;i++)
{
m_Num[i] = rand()%26+1;
}
}
void CGkbc8Dlg::SetBitmap(int num)
{
HBITMAP m_hBitmap;
m_hBitmap = LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BITMAPA+m_Num[num]-1));
m_Static[num].SetBitmap(m_hBitmap);
m_Static[num].MoveWindow(45+58*num,21,24,24);
m_Static[num].ShowWindow(SW_SHOW);
}
复制代码
我们来演示下功能实现的整个过程
[iqiyi]http://player.video.qiyi.com/2fa0681f560a8f58caaffb49b6cfcb5e/0/0/w_19rtditcr1.swf-albumId=5138971809-tvId=5138971809-isPurchase=0-cnId=12[/iqiyi]
(, 下载次数: 4)
上传
点击文件名下载附件
[note]1[/note]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4