用VB使用花式画笔实现流动的选取框

创建一个选取框并不难,可以用DrawFocusRect、FrameRgn等API来实现,但要实现一个类似于PS的流动的选取框,相对来说不是一件简单的事。有的朋友干脆使用了若干位图来模拟,但这样做有一个缺点,即二次选择时,由于FrameRgn对NotXor绘图模式无效,从而导致无法轻易地擦除选取框。当然,可以事先将窗口画面保存在内存中,在需要擦除选取框时,再恢复内存中的画面。有没有比这更方便的办法呢?其实很简单,使用花式画笔就能达到目的,并且避免了前面所说的缺点或不足。

需要说明的是,在使用前,需要在窗体上放置一个Timer控件,然后再把代码复制到窗体代码里就可以了。程序运行后,按下左键移动鼠标,将出现一个随着鼠标缩放的虚线选择框,松开鼠标按键后,该虚线选择框将呈现流动状态。此外,你还可以多次进行测试,选择框会自动重新生成。好了,言归正传,请看代码

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...