专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > WinCE

Wince5.0停的SetWindowLong和Invalidate

发布时间:2010-06-13 21:40:30 文章来源:www.iduyao.cn 采编人员:星星草
Wince5.0下的SetWindowLong和Invalidate
EVC环境下

MFC的一个对话框中,我在初始化对话框时,给Picture控件设置了一个新的消息处理函数,如下:
oldProc_PIC = (WNDPROC)SetWindowLong(GetDlgItem(IDC_PIC_CTRL)->m_hWnd, GWL_WNDPROC, (LONG)NewProc_PIC);


然后设置了一个定时器,将我获取的图片数据进行循环播放,如下:
Index = Index % m_Count;
imgPath = file[Index];
Index++;
Invalidate(FALSE);


捕获WM_PAINT消息如下:
LRESULT NewProc_PIC(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)     // IDC_PIC控件对应的新的消息函数   
{  
    switch (message)  
    {  
    case WM_PAINT:  
{
if(DrawPic(hWnd))  
{
return S_OK;  
}
else  
{
break;  
}
}
    default:  
        break;  
    }  
    return CallWindowProc(oldProc_PIC, hWnd, message, wParam, lParam);     // 调用默认的消息函数   
}  


在VS的win32下能正常编译通过且实现了我所需要的功能,但是将其移植到EVC上,仅仅在主对话框时捕获到一次WM_PAINT消息,其他时间都没捕获到了,是什么原因,跪求帮助。。。。。
WinCE C 对话框

------解决方案--------------------
定时器执行到了吗?
------解决方案--------------------
看网上有说法Invalidate这个函数在EVC下面没有效果,手头没有EVC环境没法验证
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: