显示系统时间

来源:互联网 发布:iphone 电话录音软件 编辑:程序博客网 时间:2024/06/09 07:02
 

显示系统时间

2010-07-06 20:06:31|  分类: C++学习笔记 |  标签: |字号 订阅

要求:建立一个工程ShowTime,并在其中建立一个显示系统时间的主菜单。其下拉菜单包括在客户区显示、在状态栏显示、停止显示菜单项和分割线。程序运行时,在客户区中无显示,状态栏中显示“00:00:00”。单击在客户区显示菜单项,当前系统时间显示在客户区,单击在状态栏显示菜单项,系统时间显示在状态栏。单击停止显示菜单项,界面回复到初始状态。

步骤:

1、建立工程ShowTime,在工作区单击ResourceView,打开MENU,双击IDR_MAINFRAME,添加菜单项和题目要求的子菜单,同时添加分割线,并添加ID号。

2、单击VIEW->建立类向导,类名选择CShowViewDoc,选择子菜单的ID号,添加COMMAND函数。

3、打开CLASSView,右键ShowTimeView,添加windows message handle,添加定时器,WM-TIMER。并且编辑代码。(ShowTimeView.cpp)

void CShowTimeView::OnTimer(UINT nIDEvent)
{
 // TODO: Add your message handler code here and/or call default
 CDC* pDC=GetDC();
    CShowTimeDoc* pDoc = GetDocument();
 ASSERT_VALID(pDoc);
 CTime time;
 CString s; 
 CStatusBar* pStatus;
 pStatus=(CStatusBar*)AfxGetApp()->m_pMainWnd->GetDescendantWindow(ID_VIEW_STATUS_BAR);
 time=CTime::GetCurrentTime();
 s=time.Format("%H:%M:%S");
 if(pDoc->stop==1)
 {
   KillTimer(1);
   pStatus->SetPaneText(1,"00:00:00");
 }
    if(pDoc->kstatus==1)
 {
  pDC->TextOut(100,100,s);

 }
 if(pDoc->zstatus==1)
 {
  pStatus->SetPaneText(1,s);
 }
 

 CView::OnTimer(nIDEvent);
}

 

4、打开ShowTimeDoc.cpp,COMMAND函数下编辑代码。

void CShowTimeDoc::OnKehu() //自定义的COMMAND函数名
{
 // TODO: Add your command handler code here
 kstatus=1; 
 stop=0;
 UpdateAllViews(NULL);
}

void CShowTimeDoc::OnZhuangtai()
{
 // TODO: Add your command handler code here
 zstatus=1;
 stop=0;
 UpdateAllViews(NULL);
 
}

void CShowTimeDoc::OnStop()
{
 // TODO: Add your command handler code here
  kstatus=0;
 zstatus=0;
 stop=1;
 UpdateAllViews(NULL);
 
}

5、打开ShowTimeDoc.h,添加成员变量。

public:
 int stop;
 int zstatus;
 int kstatus;
 virtual ~CShowTimeDoc();

6、在CLASSVIEW中打开OnDraw函数,添加显示代码。

CShowTimeDoc* pDoc = GetDocument();
 ASSERT_VALID(pDoc);
 // TODO: add draw code for native data here
 SetTimer(1,1000,NULL);

最后编译运行能够实现题目要求。

原创粉丝点击