求delphi透明panel组件或者制作方法
我需要一个可以透明,并且可以拖动的panel组件。当然也可以不是panel,其他的容器组件也可以的。注意:透明指的是panel下面的变化也能看见(如下面是一个edit,可以看见里面文字的变化),就像网页上的效果一样。
在网上漂了三天,我涝呀,找呀,找了三天,没有找到合适的方案。
首先找了一些第三方组件,有可以支持透明的,比如TIAsemiPanel和eztexturepanel。
TIAsemiPanel在给上面拖上去一个按钮时,delphi就会死掉。eztexturepanel在拖动panel时背景不跟着变,即还是用的原来的背景,当然更不能看见下面东西的变化了。
找了一些制作透明组件的方法,有说使用SetLayeredWindowAttributes API的,可是要用它,组件要有WS_EX_LAYERED样式,而有了这个样式就必须不能有WS_CHILD,但是panel肯定是有WS_CHILD的,这种办法不能用了。
我就试着用另一种方法,首先取得panel父组件的背景,将其放到一个bitmap中去,然后取得panel的图像将其也存到一bitmap中,然后将这两个 bitmap通过一定方法叠加后,画到panel上去。可是因为我在取背景的图像时,需要先把panel设为不可见再取背景图像,取到后再把panel设为可见,这样一执行到paint方法里时panel开始不停闪烁,不知如何解决,有人知道如何解决不?
我原来是做b/s的,这些透明之类的效果,在网页里就是一个滤镜效果,轻轻指定几个值就可以了,可没想到在delphi里竟如此难做。我在想网页里的滤镜效果是如何实现的。同样是在windows系统下显示,为什么浏览器能实现,而应用程序就实现不了了,当然肯定是我不会。我在想为什么delphi就不把这些大家都会共用到的东西做出来。我们做开发的主要目的就是实现业务,这些什么乱七八糟的基本东西应该是开发工具就提供好了的,据说borland的架构师跑到微软去了,剩下的人怎么就不知道赶赶潮流,把delphi给正儿八经升升级。那些自带的组件是可以完成功能,但做一个真正的好东西,用户都不愿意看着一个丑不垃圾的界面。说是可以自定义组件,给开发者留了很大的扩展余地,可是问题是开发者要做的东西太多,太多!
说多了,哪位高手知道如何实现我要的效果。谢谢!!!!!!!!
在网上漂了三天,我涝呀,找呀,找了三天,没有找到合适的方案。
首先找了一些第三方组件,有可以支持透明的,比如TIAsemiPanel和eztexturepanel。
TIAsemiPanel在给上面拖上去一个按钮时,delphi就会死掉。eztexturepanel在拖动panel时背景不跟着变,即还是用的原来的背景,当然更不能看见下面东西的变化了。
找了一些制作透明组件的方法,有说使用SetLayeredWindowAttributes API的,可是要用它,组件要有WS_EX_LAYERED样式,而有了这个样式就必须不能有WS_CHILD,但是panel肯定是有WS_CHILD的,这种办法不能用了。
我就试着用另一种方法,首先取得panel父组件的背景,将其放到一个bitmap中去,然后取得panel的图像将其也存到一bitmap中,然后将这两个 bitmap通过一定方法叠加后,画到panel上去。可是因为我在取背景的图像时,需要先把panel设为不可见再取背景图像,取到后再把panel设为可见,这样一执行到paint方法里时panel开始不停闪烁,不知如何解决,有人知道如何解决不?
我原来是做b/s的,这些透明之类的效果,在网页里就是一个滤镜效果,轻轻指定几个值就可以了,可没想到在delphi里竟如此难做。我在想网页里的滤镜效果是如何实现的。同样是在windows系统下显示,为什么浏览器能实现,而应用程序就实现不了了,当然肯定是我不会。我在想为什么delphi就不把这些大家都会共用到的东西做出来。我们做开发的主要目的就是实现业务,这些什么乱七八糟的基本东西应该是开发工具就提供好了的,据说borland的架构师跑到微软去了,剩下的人怎么就不知道赶赶潮流,把delphi给正儿八经升升级。那些自带的组件是可以完成功能,但做一个真正的好东西,用户都不愿意看着一个丑不垃圾的界面。说是可以自定义组件,给开发者留了很大的扩展余地,可是问题是开发者要做的东西太多,太多!
说多了,哪位高手知道如何实现我要的效果。谢谢!!!!!!!!
...全文
相关推荐
delphi 真正透明panel ,使用简单
delphi7正常使用,可以放在任何容器内,依旧透明
Delphi中实现透明度可控PANEL组件
Delphi作为一种高效的可视化编程语言,其组件化的开发模式让开发者能够快速构建出复杂的界面。在众多控件之中,TPanel控件扮演着不可或缺的角色,它为界面布局提供了基础支持。标准用法中,开发者通过设置TPanel的属性来定制面板的外观和行为,包括边框、颜色、尺寸等。其中,最为常用的属性包括BevelInnerBevelOuter和Brush等,这些属性帮助定义了面板的视觉样式和布局特性。
Delphi7下简单实现Panel透明化
Delphi7下简单实现Panel透明化
可以设置透明度的Panel
可以设置透明度的Panel,还可以设置颜色等,非常好用~~!
透明Panel for Delphi
透明Panel for Delphi 在Delphi6上已通过



