扩展CStatic类,在OnPaint事件里面写代码:
if(a==1)
画圆
else
画直线(不让圆出现)默认是画圆,CStatic扩展类的控件在对话框中,但是当我把a设置成其他数值,并且刷新Static扩展类时,却同时出现了两个图形。只有当我把对话框最小化后,再最大化,才会只有一条直线出现。要的就是这个效果。
现在的问题是我在OnPaint事件中,不想把所有的区域都填上背景色再画图,因为我想让这个控件是透明的,不会覆盖对话框的其他控件。
if(a==1)
画圆
else
画直线(不让圆出现)默认是画圆,CStatic扩展类的控件在对话框中,但是当我把a设置成其他数值,并且刷新Static扩展类时,却同时出现了两个图形。只有当我把对话框最小化后,再最大化,才会只有一条直线出现。要的就是这个效果。
现在的问题是我在OnPaint事件中,不想把所有的区域都填上背景色再画图,因为我想让这个控件是透明的,不会覆盖对话框的其他控件。
解决方案 »
- 关于多线程访问共享数据的瓶颈问题怎么解决?
- GridCtrl控件滚动条问题,求助!
- 求助:如何解析HTTP数据包
- 工具提示树视图
- 关于用pop3接收邮件的问题
- 急!!!我现在所有的程序都不好用了,谁知道是怎么回事!
- 我程序中定义的快捷键为什么屏蔽了其他程序的快捷键?马上给分
- 在listctrl里调整colume的宽度会触发什么消息?
- 我对子对话框中的EDIT打回车,子对话框竟然消失(注:没有OK,CANCEL按钮)
- 区分左右点
- 请教熟悉CList<TYPE, ARG_TYPE>的高手来看看这句为什么没有调用我的拷贝函数?真的很奇怪!
- 为什么我在内存DC上绘制文本,然后BitBlt到设备DC上后,都是花的?
x 异或 y 异或 x = y
hbrBackground
{
CPaintDC dc(this);
if(a==1)
用当前背景色绘制整个区域;//用以覆盖以前的绘图 。
画圆;
else
用当前背景色绘制整个区域;
画直线;
}