一个编辑框,当选中时,要求它的边框处有一个闪烁的外接框。

 

在判断选用的逻辑处,设置定时器。

 

 

在On_Timer中

设编辑框的窗口句柄为hWnd

 

其实原理的关键在于SetROP2

对于第一次调用 On_Timer时,利用SetROP2将绘图模式,设为异或非R2_NOTXORPEN

设现在屏幕原来的颜色为s,   画笔的颜色为p, 绘图后的颜色为x1=NOT(p XOR s);

////这时将画出"选中边框"

Sleep(400);

然后再绘图同样绘图模式为异或非R2_NOTXORPEN

设第二次绘图后的颜色为x2=NOT(x1 XOR p)

可以证明 x2==s,也就是说,这次绘图的像素颜色正是本来的颜色,选中边框消失了.

这样就实现了闪烁.

 

 

Posted on 2010-07-30 11:37  joneykk  阅读(383)  评论(0)    收藏  举报