uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
- StdCtrls, ExtCtrls;
+ StdCtrls, ExtCtrls, BottleDef, SppList;
type
TfrmConfirmSend = class(TForm)
- Button1: TButton;
- Button2: TButton;
- Label1: TLabel;
+ btnOk: TButton;
+ btnCancel: TButton;
cbxDontAlertAnyMore: TCheckBox;
- Image1: TImage;
- procedure FormShow(Sender: TObject);
+ memPrompt: TMemo;
+ memInfo: TMemo;
+ pnlPreview: TPanel;
+ Image: TImage;
+ procedure FormCreate(Sender: TObject);
+ procedure FormDestroy(Sender: TObject);
private
{ Private \90é\8c¾ }
+ FDefaultImage: TBitmap; // \83v\83\8c\83r\83\85\81[\97p\83T\81[\83t\83B\83X\82ª\82È\82¢\8fê\8d\87\82Ì\83{\83g\83\8b\89æ\91\9c
public
{ Public \90é\8c¾ }
+ function Execute(const Channel, Ghost: String): boolean;
end;
var
frmConfirmSend: TfrmConfirmSend;
+function SendConfirmDialog(const Channel, Ghost: String): boolean;
+
implementation
{$R *.DFM}
-procedure TfrmConfirmSend.FormShow(Sender: TObject);
+function SendConfirmDialog(const Channel, Ghost: String): boolean;
+var MyfrmConfirmSend: TfrmConfirmSend;
+begin
+ Application.CreateForm(TfrmConfirmSend, MyfrmConfirmSend);
+ with MyfrmConfirmSend do begin
+ try
+ cbxDontAlertAnyMore.Checked := Pref.NoConfirm;
+ Result := Execute(Channel, Ghost);
+ Pref.NoConfirm := cbxDontAlertAnyMore.Checked;
+ finally
+ Release;
+ end;
+ end;
+end;
+
+function TfrmConfirmSend.Execute(const Channel, Ghost: String): boolean;
+var Mes: String;
+ Bmp: TBitmap;
+ SurfaceImageExists: boolean;
+begin
+ Bmp := TBitmap.Create;
+ try
+ if Ghost = ChannelDefault then
+ SurfaceImageExists := false
+ else
+ SurfaceImageExists := Spps.TryGetImage(Ghost, 0, Bmp);
+ if SurfaceImageExists then
+ with Image do
+ begin
+ Picture.Bitmap := Bmp;
+ if (Width < Bmp.Width) or (Height < Bmp.Height) then
+ begin
+ Stretch := true;
+ end else
+ Stretch := false;
+ begin
+ end;
+ end
+ else
+ with Image do
+ begin
+ Picture.Bitmap := FDefaultImage;
+ Stretch := false;
+ end
+ finally
+ Bmp.Free;
+ end;
+
+ Mes := memInfo.Lines.Text;
+ Mes := StringReplace(Mes, '%channel', Channel, [rfReplaceAll]);
+ Mes := StringReplace(Mes, '%ghost', Ghost, [rfReplaceAll]);
+ memInfo.Lines.Text := Mes;
+ Result := ShowModal = mrOk;
+end;
+
+procedure TfrmConfirmSend.FormCreate(Sender: TObject);
+begin
+ FDefaultImage := TBitmap.Create;
+ FDefaultImage.Assign(Image.Picture.Bitmap);
+end;
+
+procedure TfrmConfirmSend.FormDestroy(Sender: TObject);
begin
- Beep;
- cbxDontAlertAnyMore.Checked := false;
+ FDefaultImage.Free;
end;
end.