我做了一个简单的有背景图片的时钟显示的小程序,定时的刷新STATIC窗口
代码如下void CClockShow::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
//背景重绘
CDC *dc;
dc=GetDC();
CDC dcMem;
dcMem.CreateCompatibleDC(dc);
CBitmap bmpBackground;
bmpBackground.LoadBitmap(IDB_CLOCK);//载入背景图片
dcMem.SelectObject(bmpBackground);
dc->BitBlt(0,0,119,88,&dcMem,0,0,SRCCOPY);//???
//时间重绘
CString time;
SYSTEMTIME sysTime;
GetLocalTime(&sysTime);
dc->SetBkMode(TRANSPARENT);
time.Format("%02d:%02d:%02d",sysTime.wHour,
sysTime.wMinute, sysTime.wSecond);
CFont font;
font.CreatePointFont (140,_TEXT("宋体"));
dc->SelectObject (&font);
dc->TextOut(25,60,time);
time.Format("星期");
switch(sysTime.wDayOfWeek)
{
case 0:
time+="日";
break;
case 1:
time+="一";
break;
case 2:
time+="二";
break;
case 3:
time+="三";
break;
case 4:
time+="四";
break;
case 5:
time+="五";
break;
case 6:
time+="六";
break;
}
dc->TextOut(30,35,time);
time.Format("%d-%d-%d",sysTime.wYear,sysTime.wMonth,sysTime.wDay);
dc->TextOut(20,10,time);
CStatic::OnTimer(nIDEvent);
}这个程序运行20分钟以后就会弹出错误对话框! 请教各位高人可能是什么原因??
代码如下void CClockShow::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
//背景重绘
CDC *dc;
dc=GetDC();
CDC dcMem;
dcMem.CreateCompatibleDC(dc);
CBitmap bmpBackground;
bmpBackground.LoadBitmap(IDB_CLOCK);//载入背景图片
dcMem.SelectObject(bmpBackground);
dc->BitBlt(0,0,119,88,&dcMem,0,0,SRCCOPY);//???
//时间重绘
CString time;
SYSTEMTIME sysTime;
GetLocalTime(&sysTime);
dc->SetBkMode(TRANSPARENT);
time.Format("%02d:%02d:%02d",sysTime.wHour,
sysTime.wMinute, sysTime.wSecond);
CFont font;
font.CreatePointFont (140,_TEXT("宋体"));
dc->SelectObject (&font);
dc->TextOut(25,60,time);
time.Format("星期");
switch(sysTime.wDayOfWeek)
{
case 0:
time+="日";
break;
case 1:
time+="一";
break;
case 2:
time+="二";
break;
case 3:
time+="三";
break;
case 4:
time+="四";
break;
case 5:
time+="五";
break;
case 6:
time+="六";
break;
}
dc->TextOut(30,35,time);
time.Format("%d-%d-%d",sysTime.wYear,sysTime.wMonth,sysTime.wDay);
dc->TextOut(20,10,time);
CStatic::OnTimer(nIDEvent);
}这个程序运行20分钟以后就会弹出错误对话框! 请教各位高人可能是什么原因??
解决方案 »
- 我想画一个软件工程的工程图,用什么画啊?我现在别的不会用,还在用CAD……
- http协议用post方式发送multipart类型的数据包失败?
- 内存泄漏(memory leaks!) (有诊断经验的进)
- bmp图片在非模态对话框中显示不出!!
- 我有2个对话框类,在对话框类1中要用到对话框类2,下面按照例子做的为什么不对
- 100分!求考研见议!
- CTimeSpan问题!!!
- P4 2G的CPU(升技主板),开机温度就到了45-50度,夏天使用中温度可以达到70-80度以至于死机,这算正常吗?(都有分)
- MFC编写控件问题
- VC++6.0 如何 向 高版本 VC++转换?
- 工具条问题
- opengl中矩形的渐变是怎样实现的?
没见释放啊
font.CreatePointFont (140,_TEXT("宋体"));
不能放在时间器里;
还有一些,
对资源的释放问题;
资源被耗尽了。