-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathMessageEvent.pas
More file actions
112 lines (97 loc) · 2.24 KB
/
MessageEvent.pas
File metadata and controls
112 lines (97 loc) · 2.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
unit MessageEvent;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, acPNG, Vcl.ExtCtrls, Vcl.Buttons,
sSpeedButton, Vcl.StdCtrls, Main;
type
TFormMessage = class(TForm)
LabelMessage: TLabel;
LabelFIO: TLabel;
SpeedButtonClose: TsSpeedButton;
TimerClose: TTimer;
PanelLeft: TPanel;
Image1: TImage;
procedure FormShow(Sender: TObject);
procedure SpeedButtonCloseClick(Sender: TObject);
procedure TimerCloseTimer(Sender: TObject);
procedure FormClick(Sender: TObject);
private
{ Private declarations }
public
procedure FormClose;
procedure FormUp;
end;
var
FormMessage: TFormMessage;
NeedTop, NeedHide:Integer;
implementation
{$R *.dfm}
procedure TFormMessage.FormClick(Sender: TObject);
begin
FormMain.ActionShowWindowExecute(nil);
FormMain.ActionChatExecute(nil);
FormClose;
end;
procedure TFormMessage.FormClose;
var TopP:Double;
TopL:Double;
Delta:Double;
begin
TimerClose.Enabled:=False;
TopP:=Top;
TopL:=Top;
Delta:=1.5;
AlphaBlendValue:=255;
while Top < NeedHide do
begin
TopP:=TopP + Delta;
Delta:=Delta + 0.5;
Top:=Round(TopP);
AlphaBlendValue:=Round((255 / 100) * ((NeedHide - Top)/((NeedHide - TopL) / 100)));
Sleep(10);
Application.ProcessMessages;
end;
Top:=NeedHide;
AlphaBlendValue:=0;
Visible:=False;
end;
procedure TFormMessage.FormShow(Sender: TObject);
begin
Top:=Screen.Height;
Left:=Screen.Width - Width - 40;
NeedTop:=Screen.Height - Height - 80;
NeedHide:=Screen.Height;
SetForegroundWindow(Handle);
end;
procedure TFormMessage.FormUp;
var TopP, TopL:Double;
Delta:Double;
begin
Visible:=True;
TopP:=Top;
TopL:=Top;
Delta:=1.5;
AlphaBlendValue:=0;
while Top > NeedTop do
begin
TopP:=TopP - Delta;
Delta:=Delta + 0.5;
Top:=Round(TopP);
AlphaBlendValue:=255 - Round((255 / 100) * ((NeedTop - Top)/((NeedTop - TopL) / 100)));
Sleep(10);
Application.ProcessMessages;
end;
AlphaBlendValue:=255;
Top:=NeedTop;
TimerClose.Enabled:=True;
end;
procedure TFormMessage.SpeedButtonCloseClick(Sender: TObject);
begin
FormClose;
end;
procedure TFormMessage.TimerCloseTimer(Sender: TObject);
begin
FormClose;
end;
end.