procedure
DrawOnScreen(
const
S:
string
);
var
DC: HDC;
Canvas: TCanvas;
X, Y:
Integer
;
begin
DC := GetDC(
0
);
Canvas := TCanvas
.
Create;
try
Canvas
.
Handle := DC;
Canvas
.
Brush
.
Style := bsClear;
with
Canvas
.
Font
do
begin
Name :=
'Times New Roman'
;
Size :=
50
;
Color := clRed;
end
;
X := (GetSystemMetrics(SM_CXSCREEN) - Canvas
.
TextWidth(S))
div
2
;
Y := (GetSystemMetrics(SM_CYSCREEN) - Canvas
.
TextHeight(S))
div
2
;
Canvas
.
TextOut(x, y, S);
finally
ReleaseDC(
0
,DC);
Canvas
.
Free;
end
;
end
;
procedure
TForm1
.
Button1Click(Sender: TObject);
begin
DrawOnScreen(
'Сообщение на экране'
);
end
;
procedure
TForm1
.
Button2Click(Sender: TObject);
begin
RedrawWindow(GetDesktopWindow,
nil
,
0
,RDW_INVALIDATE + RDW_UPDATENOW + RDW_ALLCHILDREN);
end
;
procedure
TForm1
.
Button3Click(Sender: TObject);
begin
RedrawWindow(GetDesktopWindow,
nil
,
0
, RDW_ERASE
or
RDW_INVALIDATE
or
RDW_UPDATENOW
or
RDW_ALLCHILDREN
or
RDW_FRAME);
end
;
procedure
TForm1
.
Button4Click(Sender: TObject);
begin
InvalidateRect(
0
,
0
,
false
);
InvalidateRect(
0
,
0
,
true
);
end
;