关于控件界面刷新的问题

t69490741 2010-11-18 03:24:20
我开发的是第三方的控件。供应商提供的DLL。我负责把这个DLL集成。做成控件的形式。方便调用。
StartRealPlay(LPCTSTR lpServerIP, long lChannel)开启视频
StopRealPlay() 关闭视频
现在开发的就这两个方法。
就是在关闭视频的时候,控件界面保留在了最后一帧的画面,没有清空。
将窗口最小化,在最大化就可以了,界面刷新了。最后一帧的画面就没有了
现在就是希望能在StopRealPlay()中最后加一句话,让界面刷新下。我想,这样控件就会清空了
但是这一句话我不知道怎么写。
我自己试过的方法有:
Updatewindow()
Invalidate()
希望有知道的高手能给出代码给小弟学习下。非常感谢。在线等待
...全文
67 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
t69490741 2010-11-18
  • 打赏
  • 举报
回复
原来是这样,非常感谢3楼。谢谢,成功了。
VCAView3Prop.GetDlgItem(IDC_STATIC1)->Invalidate();
xiaoguailong3 2010-11-18
  • 打赏
  • 举报
回复
显示视频的控件.Invalidate();应该是这样,单独的Invalidate();是刷新对话框或者文档的界面,不刷新控件的
t69490741 2010-11-18
  • 打赏
  • 举报
回复
自己给自己顶下。我在关闭视频的代码如下

BOOL CVCAView3Ctrl::StopRealPlay()
{
// TODO: Add your dispatch handler code here

for (int i = 0; i < MAX_CLIENTS; i++)//清空参数
{
if (NULL != pNVSManager[i].nvsHandle)
{
NVS_Stop(pNVSManager[i].nvsHandle);
NVS_Disconnect(pNVSManager[i].nvsHandle);
NVS_Deinit(&pNVSManager[i].nvsHandle);
pNVSManager[i].nvsHandle = NULL;
}
}
StopRP = TRUE;
Invalidate(); //强制刷新,但是没有用。还是停留在最后一帧
// InvalidateRect(VCAView3Prop.m_hWnd);
return TRUE;
}

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧