设立了WS_CLIPCHILDREN属性后,对话框子控件static重影,坐等结贴
设置了WS_CLIPCHILDREN属性后,对话框子控件static重影,坐等结贴
我有一个对话框,用来显示从服务器下载的图片,然后再在对话框的一个角落上用一个static控件的子类来显示视频,这样每次下载图片的时候,就会把视频控件遮盖住,
为了能让static控件始终位于最上方,就把对话框属性 WS_CLIPCHILDREN设置为TRUE,不负责子控件绘制,但是这样static每次都不重绘,在对话框发生OnPaint的时候,static控件不重绘,就会出现重影的现象,我也重载了static子类的OnEraseBkgnd
BOOL CMyStatic::OnEraseBkgnd(CDC* pDC)
{
return TRUE;
}
但是没效果。该如何解决这个问题呢?如果不设置WS_CLIPCHILDREN,如何让static在最上方呢?
------解决方案--------------------
对static控件用
InvalidateRect(&rect,true);刷新
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
小鱼童鞋,
OnEraseBkgnd Return TRUE;是不重绘吧。
------解决方案--------------------
再问下,
WS_CLIPCHILDREN
为了屏幕控件太多,不重绘,防止闪烁太厉害
和你Static控件位置有什么关系?你应该自己处理WM_SIZE事件,把变化重新写进OnSize里面把
------解决方案--------------------
对static控件用
InvalidateRect(&rect,true);刷新
------解决方案--------------------
你再使用一个对话框显示视屏,把他放到显示图片的对话框上面
我有一个对话框,用来显示从服务器下载的图片,然后再在对话框的一个角落上用一个static控件的子类来显示视频,这样每次下载图片的时候,就会把视频控件遮盖住,
为了能让static控件始终位于最上方,就把对话框属性 WS_CLIPCHILDREN设置为TRUE,不负责子控件绘制,但是这样static每次都不重绘,在对话框发生OnPaint的时候,static控件不重绘,就会出现重影的现象,我也重载了static子类的OnEraseBkgnd
BOOL CMyStatic::OnEraseBkgnd(CDC* pDC)
{
return TRUE;
}
但是没效果。该如何解决这个问题呢?如果不设置WS_CLIPCHILDREN,如何让static在最上方呢?
------解决方案--------------------
对static控件用
InvalidateRect(&rect,true);刷新
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
小鱼童鞋,
OnEraseBkgnd Return TRUE;是不重绘吧。
------解决方案--------------------
再问下,
WS_CLIPCHILDREN
为了屏幕控件太多,不重绘,防止闪烁太厉害
和你Static控件位置有什么关系?你应该自己处理WM_SIZE事件,把变化重新写进OnSize里面把
------解决方案--------------------
对static控件用
InvalidateRect(&rect,true);刷新
------解决方案--------------------
你再使用一个对话框显示视屏,把他放到显示图片的对话框上面