source: trunk/Messg.pas@ 157

Last change on this file since 157 was 135, checked in by chronos, 7 years ago
  • Fixed: Reduced compiler warnings.
File size: 2.6 KB
Line 
1{$INCLUDE Switches.inc}
2unit Messg;
3
4interface
5
6uses
7 ScreenTools, LCLIntf, LCLType, LMessages, Messages, SysUtils, Classes,
8 Graphics, Controls, Forms, ButtonA, DrawDlg;
9
10const
11 WM_PLAYSOUND = WM_USER;
12
13type
14 TMessgDlg = class(TBaseMessgDlg)
15 Button1: TButtonA;
16 Button2: TButtonA;
17 procedure FormCreate(Sender: TObject);
18 procedure FormPaint(Sender: TObject);
19 procedure FormShow(Sender: TObject);
20 procedure Button1Click(Sender: TObject);
21 procedure Button2Click(Sender: TObject);
22 procedure FormKeyPress(Sender: TObject; var Key: char);
23 public
24 Kind: integer;
25 OpenSound: string;
26 private
27 procedure OnPlaySound(var Msg: TMessage); message WM_PLAYSOUND;
28 end;
29
30const
31 // message kinds
32 mkOK = 1;
33 mkOKCancel = 2;
34 mkYesNo = 3;
35
36var
37 MessgDlg: TMessgDlg;
38
39procedure SimpleMessage(SimpleText: string);
40procedure SoundMessage(SimpleText, SoundItem: string);
41
42
43implementation
44
45{$R *.lfm}
46
47procedure TMessgDlg.FormCreate(Sender: TObject);
48begin
49 inherited;
50 OpenSound := '';
51end;
52
53procedure TMessgDlg.FormShow(Sender: TObject);
54begin
55 Button1.Visible := true;
56 Button2.Visible := not(Kind in [mkOK]);
57 if Button2.Visible then
58 Button1.Left := 101
59 else
60 Button1.Left := 159;
61 if Kind = mkYesNo then
62 begin
63 Button1.Caption := Phrases.Lookup('BTN_YES');
64 Button2.Caption := Phrases.Lookup('BTN_NO')
65 end
66 else
67 begin
68 Button1.Caption := Phrases.Lookup('BTN_OK');
69 Button2.Caption := Phrases.Lookup('BTN_CANCEL');
70 end;
71
72 SplitText(true);
73 CorrectHeight;
74end;
75
76procedure TMessgDlg.FormPaint(Sender: TObject);
77begin
78 inherited;
79 if OpenSound <> '' then
80 PostMessage(Handle, WM_PLAYSOUND, 0, 0);
81end; { FormPaint }
82
83procedure TMessgDlg.Button1Click(Sender: TObject);
84begin
85 ModalResult := mrOK;
86end;
87
88procedure TMessgDlg.Button2Click(Sender: TObject);
89begin
90 ModalResult := mrIgnore;
91end;
92
93procedure TMessgDlg.FormKeyPress(Sender: TObject; var Key: char);
94begin
95 if Key = #13 then
96 ModalResult := mrOK
97 // else if (Key=#27) and (Button2.Visible) then ModalResult:=mrCancel
98end;
99
100procedure SimpleMessage(SimpleText: string);
101begin
102 with MessgDlg do
103 begin
104 MessgText := SimpleText;
105 Kind := mkOK;
106 ShowModal;
107 end
108end;
109
110procedure SoundMessage(SimpleText, SoundItem: string);
111begin
112 with MessgDlg do
113 begin
114 MessgText := SimpleText;
115 OpenSound := SoundItem;
116 Kind := mkOK;
117 ShowModal;
118 end
119end;
120
121procedure TMessgDlg.OnPlaySound(var Msg: TMessage);
122begin
123 Play(OpenSound);
124 OpenSound := '';
125end;
126
127end.
Note: See TracBrowser for help on using the repository browser.