创建MFC工程,怎么弄一个指针式时钟,要求:在C语言、C++或VC环境下,实现各项功能
需要详细注释和步骤能测试成功将感激不尽!急求。成功后必有重赏。VC++6.0大体的时钟我已经做出来了,现在就是需要实现各种功能:闹钟什么的,求教啊。...
需要详细注释和步骤 能测试成功将感激不尽!急求。成功后必有重赏。VC++6.0
大体的时钟我已经做出来了,现在就是需要实现各种功能:闹钟什么的,求教啊。 展开
大体的时钟我已经做出来了,现在就是需要实现各种功能:闹钟什么的,求教啊。 展开
3个回答
展开全部
添加对话框
1)选择“插入”-“资源”菜单,选中Dialog,单击确定按钮,系
统就可以自动为当前应用程序添加一个对话框。
2)设置对话框属性。在对话框模板的空白处右击鼠标,从弹出的快
捷菜单中选择属性菜单项,然后对相应的参数进行设置。
3)添加和布局控件。一旦对话框资源被打开或者是创建,就会出现
对话框编辑器,通过它我们就可以对对话框进行编辑
创建对话框类
在对话框资源模板的空白处双击鼠标,弹出创建一个新类的对话框。
在Name框中输入用户定义的类名。在这里一般以“C”字母开始,单
击OK按钮,一个基于对话框资源模板的对话框类就创建好了。
在程序中使用对话框
1)在项目工作区窗口中选择ResourceView页面,双击资源Menu项
中的IDR_MAINFRAME,则就会出现菜单编辑器。在菜单的空白处添加
一个菜单项。
2)在菜单的空位置处双击鼠标左键,则会出现他的属性对话框,在标
题框中输入“设置”。
3)单击“设置”菜单项下方的空位置,在属性对话框中,输入“闹
钟”在ID框中输入该菜单的资源标识:ID_TEST_DLG,然后单击属性
对话框右上角的关闭按钮。
4)用鼠标将新添加的菜单项拖到“文件”和“编辑”之间。
5)选择“查看”-“建立类向导”菜单命令,则出现MFC ClassWizard
对话框,并自动切换到Message Map页面。从Class name列表中选
择CMainFrame,在IDs列表中选择ID_TEST_DLG。然后在Message框
中选择COMMAND消息。
6)单击Add Function按钮,出现Add Member Function对话框以输
入成员函数的名称。系统的默认名称是OntestDlg。该函数是对菜单
项ID_TEST_DLG的映射,也就是说,当在应用程序运行时,用户选择
“对话框”,则该函数OntestDlg别调用,执行该函数的代码。
7)单击OK按钮,在ClassWizard的Member function列表中将列出
新增加的成员函数。选择此函数,单击EditCode按钮,在此成员函
数中添加下面的代码:
void CMainFrame::OnTestDlg()
{
CFirstDlg dlg;//定义对话框类对象
dlg.DoModal();//显示对话框
}
8)在OnTestDlg函数的实现文件MainFrm.cpp的前面添加CFirstDlg
类包含语句,即
#include "MainFrm.h"
#include "FirstDlg.h"
闹钟功能的实现
1)在闹钟对话框中添加三个组合框,分别是时、分、秒。在属性中
的数据项目中添加应该显示的数据。
对话框的OK按钮响应函数,使得程序提取到闹钟的三个参数,
并且启动定时器2
void CMainFrame::OnNaozhong()
{
// TODO: Add your command handler codehere
naozhong dlg;
if(dlg.DoModal()==IDOK)
{
second=dlg.second;
minute=dlg.minute;
hour=dlg.hour;
}
SetTimer(2,500,NULL);
更新CMainFrame中的timer函数,使得每秒钟将获取的闹钟的参
数与系统当前的时间比较,如果两个数值相等,则响应弹出一个对话
框,并且PlaySound函数别响应,播放声音。
void CMainFrame::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler codehere and/or call
default
if(nIDEvent==1)
Invalidate();
else if(nIDEvent==2)
{
CTime tm;
int am;
tm=tm.GetCurrentTime();
if(second==tm.GetSecond())
{
if(minute==tm.GetMinute())
{
if(hour==tm.GetHour())//time.GetHour()
{
KillTimer(2);
PlaySound("c:\\Users\\靳洪都\\Desktop\\自
己的程序 第三版\\shizhong\\ring.wav", NULL,SND_FILENAME |
SND_ASYNC);
MessageBox("时间到!");
}
}
}
}
}
CFrameWnd::OnTimer(nIDEvent);
1)选择“插入”-“资源”菜单,选中Dialog,单击确定按钮,系
统就可以自动为当前应用程序添加一个对话框。
2)设置对话框属性。在对话框模板的空白处右击鼠标,从弹出的快
捷菜单中选择属性菜单项,然后对相应的参数进行设置。
3)添加和布局控件。一旦对话框资源被打开或者是创建,就会出现
对话框编辑器,通过它我们就可以对对话框进行编辑
创建对话框类
在对话框资源模板的空白处双击鼠标,弹出创建一个新类的对话框。
在Name框中输入用户定义的类名。在这里一般以“C”字母开始,单
击OK按钮,一个基于对话框资源模板的对话框类就创建好了。
在程序中使用对话框
1)在项目工作区窗口中选择ResourceView页面,双击资源Menu项
中的IDR_MAINFRAME,则就会出现菜单编辑器。在菜单的空白处添加
一个菜单项。
2)在菜单的空位置处双击鼠标左键,则会出现他的属性对话框,在标
题框中输入“设置”。
3)单击“设置”菜单项下方的空位置,在属性对话框中,输入“闹
钟”在ID框中输入该菜单的资源标识:ID_TEST_DLG,然后单击属性
对话框右上角的关闭按钮。
4)用鼠标将新添加的菜单项拖到“文件”和“编辑”之间。
5)选择“查看”-“建立类向导”菜单命令,则出现MFC ClassWizard
对话框,并自动切换到Message Map页面。从Class name列表中选
择CMainFrame,在IDs列表中选择ID_TEST_DLG。然后在Message框
中选择COMMAND消息。
6)单击Add Function按钮,出现Add Member Function对话框以输
入成员函数的名称。系统的默认名称是OntestDlg。该函数是对菜单
项ID_TEST_DLG的映射,也就是说,当在应用程序运行时,用户选择
“对话框”,则该函数OntestDlg别调用,执行该函数的代码。
7)单击OK按钮,在ClassWizard的Member function列表中将列出
新增加的成员函数。选择此函数,单击EditCode按钮,在此成员函
数中添加下面的代码:
void CMainFrame::OnTestDlg()
{
CFirstDlg dlg;//定义对话框类对象
dlg.DoModal();//显示对话框
}
8)在OnTestDlg函数的实现文件MainFrm.cpp的前面添加CFirstDlg
类包含语句,即
#include "MainFrm.h"
#include "FirstDlg.h"
闹钟功能的实现
1)在闹钟对话框中添加三个组合框,分别是时、分、秒。在属性中
的数据项目中添加应该显示的数据。
对话框的OK按钮响应函数,使得程序提取到闹钟的三个参数,
并且启动定时器2
void CMainFrame::OnNaozhong()
{
// TODO: Add your command handler codehere
naozhong dlg;
if(dlg.DoModal()==IDOK)
{
second=dlg.second;
minute=dlg.minute;
hour=dlg.hour;
}
SetTimer(2,500,NULL);
更新CMainFrame中的timer函数,使得每秒钟将获取的闹钟的参
数与系统当前的时间比较,如果两个数值相等,则响应弹出一个对话
框,并且PlaySound函数别响应,播放声音。
void CMainFrame::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler codehere and/or call
default
if(nIDEvent==1)
Invalidate();
else if(nIDEvent==2)
{
CTime tm;
int am;
tm=tm.GetCurrentTime();
if(second==tm.GetSecond())
{
if(minute==tm.GetMinute())
{
if(hour==tm.GetHour())//time.GetHour()
{
KillTimer(2);
PlaySound("c:\\Users\\靳洪都\\Desktop\\自
己的程序 第三版\\shizhong\\ring.wav", NULL,SND_FILENAME |
SND_ASYNC);
MessageBox("时间到!");
}
}
}
}
}
CFrameWnd::OnTimer(nIDEvent);
展开全部
windows程序设计里面有一个模式时钟的例子,gdi绘制,你可以在此基础上添加代码,不过是sdk的,没用mfc
追问
能具体点吗?对于这方面不清楚。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-12-29
展开全部
教你个笨办法,在View类中画出个时钟(指针不画),然后有个时间类(忘了叫什么)调用它计时,在设计一个算法在view视图中画线(就是时针、分针、秒针),每一秒刷新一次就行了
追问
拜托,具体点。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询