在定时器1上,我只是想在一个编辑框上闪现不同的字符,但是不管用控件关联字符串,然后Updatedata()和UpdateWindow();还是直接用SetWindowText,总是出现一个现象就是,第二次显示的时候,第一次显示的并没有消失,哪位大侠告诉我为什么呀?如果后面加上InvalidateRect()的话倒可以解决,但是画面一闪一闪的哪位大侠帮帮忙,小弟感激不尽了
void CMyDlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
switch (nIDEvent)
{
case 1:{CEdit *pEdit=(CEdit *)GetDlgItem(IDC_EDIT3);CRect rect3;pEdit->GetRect(&rect3);
if (izhiban==0){m_zhiban="请填写值班日记";UpdateData();UpdateWindow();break;}
else{m_zhiban="已填写";UpdateData();UpdateWindow();izhiban=0;break;}}
case 2:m_ctlMove.SetWindowPos(NULL,x,y,0,0,SWP_NOSIZE);if (x>=kuandu){x=0;}x+=2;break;
case 3: {
OpenDevice(); //打开设备
if(hMyDevHandle!=INVALID_HANDLE_VALUE)
{
m_ctlMove.SetWindowText("监控设备工作正常");
}
else
{
if(GetLastError()==0x20)
m_ctlMove.SetWindowText("设备已经被打开");
else m_ctlMove.SetWindowText("设备无法打开");
MyDevFound=FALSE; //设置为未找到状态
}break;}
default:break;
}
CDialog::OnTimer(nIDEvent);
}
void CMyDlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
switch (nIDEvent)
{
case 1:{CEdit *pEdit=(CEdit *)GetDlgItem(IDC_EDIT3);CRect rect3;pEdit->GetRect(&rect3);
if (izhiban==0){m_zhiban="请填写值班日记";UpdateData();UpdateWindow();break;}
else{m_zhiban="已填写";UpdateData();UpdateWindow();izhiban=0;break;}}
case 2:m_ctlMove.SetWindowPos(NULL,x,y,0,0,SWP_NOSIZE);if (x>=kuandu){x=0;}x+=2;break;
case 3: {
OpenDevice(); //打开设备
if(hMyDevHandle!=INVALID_HANDLE_VALUE)
{
m_ctlMove.SetWindowText("监控设备工作正常");
}
else
{
if(GetLastError()==0x20)
m_ctlMove.SetWindowText("设备已经被打开");
else m_ctlMove.SetWindowText("设备无法打开");
MyDevFound=FALSE; //设置为未找到状态
}break;}
default:break;
}
CDialog::OnTimer(nIDEvent);
}
解决方案 »
- 请教把两个CMemDC整合一起问题
- mfc ado连接access数据库的问题
- ONTIME定时消息触发的函数,属于子线程还是主线程
- 请问! 根据已有的一个CImage对象, 怎么copy出一个新的CImage对象来?
- modem和串口通讯(ActiveX控件MSCOMM32.OCX)丢数据什么原因?
- 串口编程的问题
- 几个关于全景漫游的问题
- 有谁用过TAPI,哪里有这方面的资料?
- 求vc源码,关于媒体播放器的,要能够播放各种格式的声音、视频文件(最好用mcisendstring做)。
- 继承CObject的子类成员变量CPtrArray m_ptrArray能不能保存数据
- 如何捕获打印机完成打印了的消息?
- CListCtrl滚动条
还有好像如果你自己改变了编辑框的字体大小的话,要用setfont,否则也会出现你说的这种情况