社区
C#
帖子详情
Invalidate控件刷新的问题。
凌波微搏
2007-04-19 02:36:43
我现在是要实现一个画图控件,比如画圆,现在我是在半径属性改变后调用Invalidate,使得实现重绘,但是发现一个问题,比如我原来的图是一个半径为10的,我半径改为5后,会发现没有变化,因为原来半径为10的图没有擦除,所以半径变小了后就没有效果。如何解决这个问题?因为我这个控件是透明的,所以,没有背景。
...全文
258
2
打赏
收藏
Invalidate控件刷新的问题。
我现在是要实现一个画图控件,比如画圆,现在我是在半径属性改变后调用Invalidate,使得实现重绘,但是发现一个问题,比如我原来的图是一个半径为10的,我半径改为5后,会发现没有变化,因为原来半径为10的图没有擦除,所以半径变小了后就没有效果。如何解决这个问题?因为我这个控件是透明的,所以,没有背景。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lisbates27
2007-04-19
打赏
举报
回复
支持一下!!
shuimuyi
2007-04-19
打赏
举报
回复
帮顶。没涉猎过这些东西
C#中使用
Invalid
ate
()与MouseMove方法
刷新
控件
时,
控件
闪烁
问题
解决方法
1.
问题
出现场景 当我们在使用C# 中的绘图功能时,如果需要动态改变
控件
UI的状态,比如绘制了一个圆,点击时填充圆颜色为绿色。那么我们必须使用
Invalid
ate
()函数进行
刷新
。运行程序之后会发现,
控件
闪烁的特别厉害,这完全达不到我们要的效果,特别是如果配合MouseMove()鼠标滑动事件使用时,这种效果会更明显。 2. 解决方案 目前用的比较稳定的解决方法是在类构造函数添加如下语句 //解决绘图时画面闪烁 SetStyle(ControlStyles.UserPaint, true); SetSty
VC下作ActiveX
控件
,内部调用
Invalid
ate
() 为什么不
刷新
?
VC下作ActiveX
控件
,内部调用
Invalid
ate
() 为什么不
刷新
?我在vc6中作一个简单的
控件
,OnDraw函数中内容如下:void CActiceXTestCtrl::OnDraw( CDC* pdc, const CRect& rcBounds, const CRect& rc
Invalid
){ static int i=0,j=0; i++; i=i%2; if(i==0) {
防止
刷新
的时候背景闪烁
在某些时候,我们需要
控件
或者画图更新之后
刷新
显示,可以使用
Invalid
ate
或者
Invalid
ate
Rect.但是
Invalid
ate
会导致整个窗口
刷新
,这个有时候我们不需要,
Invalid
ate
Rect可以
刷新
指定的区域,如果这样使用:
Invalid
ate
Rect(rect); 但是这样会导致rect区域的背景也会
刷新
,经过google一番,发现应该这样使用:
Invalid
ate
R
MFC MoveWindow后
控件
不见了
确定MoveWindow后
控件
没有跑到窗口外面去,不知为何显示不了。 执行: GetDlgItem(IDC_STATIC_1)->
Invalid
ate
Rect(rect);
Invalid
ate
(); 就好了。
MFC 对话框程序
控件
局部
刷新
方法!
控件
透明,局部
刷新
,VC6.0,vs2010
C#
111,129
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章