delphi 怎样绘制半透明窗体,只让窗体背景半透明,而窗体里面的控件 不透明

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi 怎样绘制半透明窗体,只让窗体背景半透明,而窗体里面的控件 不透明相关的知识,希望对你有一定的参考价值。

参考技术A

3句话,首先加载一个按钮,然后点击

procedure TForm1.Button1Click(Sender: TObject);

begin

form1.color:=clred;

form1.TransparentColorValue:=clred;

form1.TransparentColor:=true;

end;

你试试看,这是测试图!

参考资料:大仙

参考技术B 两个窗体叠加
后面的窗体全半透明
前面的窗体不透明
可以看一下 sodao 的美女时钟客户端
是用delphi7 + gdi 做的

QT绘制半透明窗体(改写paintEvent,超级简单)

在派生类中重载QDialog的void paintEvent(QPaintEvent *)事件,在这个函数中加入以下代码

QPainter painter(this);
    QLinearGradient grad(0, 0, width(), height());
    QGradientStops gs;
    
    gs << QGradientStop(0.0, QColor(0, 0, 0 , 100))
        << QGradientStop(0.5, QColor(0, 0, 0, 100))
        << QGradientStop(1.0, QColor(0, 0, 0, 100));
    grad.setStops(gs);
    painter.fillRect(0, 0, width(), height(), grad);

http://blog.csdn.net/itjobtxq/article/details/8766721

以上是关于delphi 怎样绘制半透明窗体,只让窗体背景半透明,而窗体里面的控件 不透明的主要内容,如果未能解决你的问题,请参考以下文章

Delphi如何制造透明背景窗体

使用duilib开发半透明异形窗体程序(附源码和demo)

一个用UpdateLayeredWindow实现窗体半透明的delphi的代码

在具有一些控件的 Windows 窗体上绘制半透明覆盖图像

使窗体拥有透明效果的API

QT绘制半透明窗体(改写paintEvent,超级简单)