unit mydialog; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, bitmapactionbutton,global; type Tmdialog = class(TForm) lb: TLabel; OK: TBitmapActionButton; cancel: TBitmapActionButton; quitbut: TBitmapActionButton; procedure FormCreate(Sender: TObject); procedure OKClick(Sender: TObject); procedure cancelClick(Sender: TObject); procedure quitbutClick(Sender: TObject); procedure FormPaint(Sender: TObject); private { Private declarations } public { Public declarations } end; var mdialog: Tmdialog; mes : string; okmes : string; cancelmes : string; stitle : string; squit : boolean; quitbut : tbitmapactionbutton; function md(const Msg: string; aOkmes : string; aCancelmes : string;title : string;quit : boolean): Word; implementation uses empripmain; function md(const Msg: string;aOkmes : string; aCancelmes : string;title : string;quit : boolean): Word; var mdform : Tmdialog; res : word; begin squit:=quit; stitle:=title; mes:=msg; okmes:=aOkmes; Cancelmes:=acancelmes; mdform := tmdialog.Create(nil); res:=mdform.showmodal; mdform.free; result:=res; end; {$R *.DFM} procedure Tmdialog.FormCreate(Sender: TObject); begin doublebuffered:=true; brush.style:=bsclear; sizeform(self,stitle,false); lb.Caption:=mes; lb.Font.Name:=JUKEBOXFONT; lb.font.size:=aspy(14); lb.left:=0; lb.autosize:=false; lb.font.color:=FONTCOL; lb.top:=((self.height div 2) div 2); lb.width:=self.width; lb.alignment:=taCenter; ok.top:=lb.top+lb.height+aspy(20); cancel.top:=ok.top; ok.caption:=okmes; cancel.caption:=cancelmes; ok.font.size:=aspy(18); cancel.font.size:=aspy(18); ok.font.name:=JUKEBOXFONT; cancel.font.name:=JUKEBOXFONT; ok.font.color:=FONTCOL; cancel.font.color:=FONTCOL; canvas.Font.size:=aspy(18); canvas.font.name:=JUKEBOXFONT; ok.width:=ok.width+canvas.textwidth(ok.caption); cancel.width:=cancel.width+canvas.textwidth(cancel.caption); ok.top:=height div 2; cancel.top:=height div 2; ok.left:=(width div 2) div 2 - (ok.width div 2); cancel.left:=(width div 2) + (width div 2) div 2 - (cancel.width div 2); quitbut.visible:=false; if squit=true then begin quitbut.caption:='Back to Jukebox'; quitbut.width:=aspx(300); quitbut.font.color:=FONTCOL; quitbut.color:=clblack; quitbut.font.size:=cancel.font.size; quitbut.left:=width div 2 - quitbut.width div 2; quitbut.top:=height - (quitbut.height * 2); quitbut.color:=0; quitbut.paint; quitbut.Visible:=true; end; if cancelmes='' then begin cancel.visible:=false; ok.left:=(self.width div 2)-(cancel.width div 2); end; end; procedure Tmdialog.OKClick(Sender: TObject); begin modalresult:=mrOK; end; procedure Tmdialog.cancelClick(Sender: TObject); begin modalresult:=mrCancel; end; procedure Tmdialog.quitbutClick(Sender: TObject); begin modalresult:=idAbort; end; procedure Tmdialog.FormPaint(Sender: TObject); begin dobg(self); end; end.