source: trunk/Back.pas@ 183

Last change on this file since 183 was 105, checked in by chronos, 7 years ago
  • Fixed: Various memory leaks.
File size: 1.7 KB
Line 
1{$INCLUDE Switches.inc}
2unit Back;
3
4interface
5
6uses
7 LCLIntf, LCLType, SysUtils, Classes, Graphics, Forms, Controls;
8
9type
10
11 { TBackground }
12
13 TBackground = class(TForm)
14 procedure FormDestroy(Sender: TObject);
15 procedure FormPaint(Sender: TObject);
16 procedure FormShow(Sender: TObject);
17 procedure FormCreate(Sender: TObject);
18 procedure FormClose(Sender: TObject; var Action: TCloseAction);
19 private
20 Img: TBitmap;
21 end;
22
23var
24 Background: TBackground;
25
26implementation
27
28uses
29 Directories, ScreenTools, Start;
30
31{$R *.lfm}
32
33procedure TBackground.FormCreate(Sender: TObject);
34begin
35 Img := nil;
36end;
37
38procedure TBackground.FormShow(Sender: TObject);
39var
40 FileName: string;
41begin
42 if FullScreen then begin
43 if not Assigned(Img) then begin
44 FileName := HomeDir + 'Graphics' + DirectorySeparator + 'Background.png';
45 if FileExists(FileName) then begin
46 Img := TBitmap.Create;
47 LoadGraphicFile(img, FileName);
48 end;
49 end;
50 end else begin
51 WindowState := wsNormal;
52 Width := StartDlg.Width + 16;
53 Height := StartDlg.Height + 16;
54 Left := StartDlg.Left - 8;
55 Top := StartDlg.Top - 8;
56 end;
57end;
58
59procedure TBackground.FormDestroy(Sender: TObject);
60begin
61 if Assigned(Img) then FreeAndNil(Img);
62end;
63
64procedure TBackground.FormPaint(Sender: TObject);
65begin
66 if Assigned(Img) then
67 BitBlt(Canvas.Handle, Screen.Width - Img.Width - (Screen.Width - 800) *
68 3 div 8, (Screen.Height - 600) div 3, Img.Width, Img.Height,
69 Img.Canvas.Handle, 0, 0, SRCCOPY);
70end;
71
72procedure TBackground.FormClose(Sender: TObject; var Action: TCloseAction);
73begin
74end;
75
76end.
Note: See TracBrowser for help on using the repository browser.