用VB实现Photoshop浮动工具栏

一般来说,用子窗口实现浮动工具栏是一个不错的选择,但Photoshop真的很变态,它的工具栏窗口居然可以移出容器窗口的客户区,那么它是如何实现的呢?总结起来,Photoshop浮动工具栏具有以下两个特点:

一、像一般的子窗口一样,点击工具栏时不改变容器窗口的活动状态,且工具栏窗口终始位于容器窗口的上层。

二、但与一般的子窗口不同的是,工具栏窗口不受容器窗口客户区的限制,可以移出容器窗口的客户区。

由此可以看出,使用子窗口的方案是行不通了,只有采用所有者窗口这种方案才能较好地实现,其中的关键在于设置窗口的活动状态,以保证第二个特点能够完美地实现。具体代码如下:

相关文章

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...