半透明的Delphi窗口 還可禁止最大化最小化
01
unit
Unit1;
02
interface
03
uses
04
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
05
Dialogs, StdCtrls, jpeg, ExtCtrls, TFlatButtonUnit;
06
type
07
TForm1 =
class
(TForm)
08
ButtonStayOnTop: TFlatButton;
09
ButtonNoMaximize: TFlatButton;
10
ButtonNoMinimize: TFlatButton;
11
ButtonLoadIcon: TFlatButton;
12
procedure
ButtonStayOnTopClick(Sender: TObject);
13
FormCreate(Sender: TObject);
14
ButtonNoMaximizeClick(Sender: TObject);
15
ButtonNoMinimizeClick(Sender: TObject);
16
FormPaint(Sender: TObject);
17
ButtonLoadIconClick(Sender: TObject);
18
private
19
{ Private declarations }
20
public
21
{ Public declarations }
22
end
;
23
var
24
Form1: TForm1;
25
implementation
26
{$R *.dfm}
27
TForm1
.
28
begin
29
if
(ButtonStayOnTop
Caption=
'永遠居上'
)
then
30
31
FormStyle:=fsStayOnTop;
32
ButtonStayOnTop
Caption:=
'取消居上'
33
34
else
35
36
FormStyle:=fsNormal;
37
38
39
40
41
42
//設置窗體可以半透明顯示
43
AlphaBlend:=
true
44
//讓窗體最開始完全透明
45
AlphaBlendValue:=
0
46
47
48
49
// 使最大化按鈕失效
50
BorderIcons := BorderIcons - [biMaximize];
51
52
53
54
55
BorderIcons := BorderIcons - [biMinimize];
56
57
58
59
i:
Byte
60
61
for
i:=
to
150
do
62
63
//增加AlphaBlendValue,知道窗體不透明
64
AlphaBlendValue:=i;
65
66
67
68
69
(FileExists(
'f:\My.ico'
)=
false
70
//如果不存在該文件,警告並退出本過程
71
72
ShowMessage(
'不存在文件f:\My.ico'
);
73
//ShowMessageFmt();
74
exit;
//退出過程
75
76
77
//存在該文件則讀取改文件並改變窗體的圖標
78
Form1
Icon
LoadFromFile(
) ;
79
80
這兩個函數可不是一般的麻煩, 特別是Blt()
本例效果圖: 代碼文件:unit Unit1;inter
首先編輯 rc 文件如下(假定圖片文件放在程序目錄下的
自從 Borland 將 IDE 產品獨立出來成立新的
unit Unit1;interfaceuse
IGPGraphicsPath.PointCount;