电子时钟的制作

1 篇文章 0 订阅

微笑偷笑敲打得意                                                                                                                        数字时钟的制作

  这个小程序还是比较简单的

主要步骤是1,首先创建一个对话框程序。

                      2.在对话框中插入一个编辑框,主要是显示时间的。然后就是编程了,

先了解定时器的使用方法,这个是关键

UINT SetTimer(
      HWND
 hWnd,              // handle of window for timer messages
      UINT nIDEvent,          // timer identifier
      UINT uElapse,           // time-out value
      TIMERPROC lpTimerFunc       // address of timer procedure
);参数一是指向CWnd的指针,参数二是定时器的ID,也就是定时器的标志,参数三是时间延迟,单位是毫秒,也就是每隔uElapse毫秒调用一次OnTimer函数

在void CTime2Dlg::OnPaint() 函数中设置一个定时器

SetTimer(1,1000,NULL);//设置定时器

在CTimeDlg类中添加WM_TIMER的消息响应函数,

void CTime2Dlg::OnTimer(UINT nIDEvent) 
{
// TODO: Add your message handler code here and/or call default
     CString str;//定义字符串存放时间
CTime time;
     time=CTime::GetCurrentTime();//获取当前的时间
str=time.Format("%H:%M:%S");//格式化时间
CFont *m_Font;
        m_Font = new CFont; 
        m_Font->CreateFont(40,20,0,0,100,
        FALSE,FALSE,0,ANSI_CHARSET,OUT_DEFAULT_PRECIS,
        CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,FF_SWISS,"Arial");
        CEdit *m_Edit=(CEdit *)GetDlgItem(IDD_CLOCK);
        m_Edit->SetFont(m_Font,FALSE);//改变输出的时间数字大小,
        GetDlgItem(IDD_CLOCK)->SetFont(m_Font);

     ((CEdit*)GetDlgItem(IDD_CLOCK))->SetWindowText(str);//将时间在编辑框中显示出来
CDialog::OnTimer(nIDEvent);
}

3.改变对话框的背景颜色

在CTimeDlg类中添加WM_CTLCOLOR的消息响应函数

HBRUSH CTime2Dlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

// TODO: Change any attributes of the DC here
// TODO: Return a different brush if the default is not desired
return hbr;
}

这是刚添加之后的响应函数,要改变背景颜色,添加一个成员变量CBrush m_brush

在构造函数中初始化,在响应函数中返回此画刷即可。








































评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值