关闭

MFC倒计时设计

3079人阅读 评论(2) 收藏 举报

新建一个mfc[exe]文件,在View类里添加WM_LBUTTONDOWN和M_TIMER消息。

在OnLButtonDown类里添加定时函数:SetTimer(1,1000,NULL);

在OnTimer(UINT nIDEvent)函数里添加以下代码:

 // TODO: Add your message handler code here and/or call default
 CDC *hdc;
 hdc=GetDC();
 CFont font;
 font.CreatePointFont(1000,   "MyFont");
 LOGFONT pLogFont;
 font.GetLogFont(&pLogFont);
 hdc->SelectObject(font);
 hdc->SetTextColor(RGB(255,0,0));
 CString str;
 char ch[2];
 itoa(m_iCount--,ch,10);
 str=ch;
 CBrush pBrush(RGB(255,255,255));
 CRect rect;
 GetClientRect(&rect);
 hdc->FillRect(rect,&pBrush);
 if(m_iCount>=0)
  hdc->TextOut((rect.left+rect.right)/2-50/*-pLogFont.lfWidth/2*/,(rect.top+rect.bottom)/2-50/*-pLogFont.lfHeight/2*/,str);
 else
 {
  hdc->TextOut((rect.left+rect.right)/2-120,(rect.top+rect.bottom)/2-80,"Boom!");
  KillTimer(1);
 }
 ReleaseDC(hdc);
 CView::OnTimer(nIDEvent);

 

编译运行,点击鼠标左键开始倒计时,呵呵,小小程序。

0
1

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:21612次
    • 积分:335
    • 等级:
    • 排名:千里之外
    • 原创:7篇
    • 转载:3篇
    • 译文:0篇
    • 评论:8条
    文章分类
    最新评论