//////////////////////////////////////////////////////////////////////////////// // All code below is exclusively owned by author of Chess4Net - Pavel Perminov // (packpaul@mail.ru, packpaul1@gmail.com). // Any changes, modifications, borrowing and adaptation are a subject for // explicit permition from the owner. unit DontShowMessageDlgUnit; interface uses Forms, StdCtrls, // DialogUnit, ModalForm; type TDontShowMessageDlg = class(TDialogForm) private m_DontShowCheckBox: TCheckBox; function FGetDontShow: boolean; procedure FSetDontShow(bValue: boolean); protected function GetModalID: TModalFormID; override; public class function Create(const ADialogs: TDialogs; const wstrMsg: WideString): TDontShowMessageDlg; overload; constructor Create(Owner: TForm; modHandler: TModalFormHandler = nil); overload; override; property DontShow: boolean read FGetDontShow write FSetDontShow; end; implementation uses Dialogs, Controls; //////////////////////////////////////////////////////////////////////////////// // TDontShowMessageDlg var g_wstrMsg: WideString; constructor TDontShowMessageDlg.Create(Owner: TForm; modHandler: TModalFormHandler = nil); begin inherited Create(Owner, g_wstrMsg, mtInformation, [mbOK], GetModalID, modHandler); MsgDlg.Height := MsgDlg.Height + 10; m_DontShowCheckBox := TCheckBox.Create(MsgDlg); m_DontShowCheckBox.Parent := MsgDlg; m_DontShowCheckBox.Caption := 'Don''t Show'; // TODO: Localize m_DontShowCheckBox.Left := 10; m_DontShowCheckBox.Top := MsgDlg.ClientHeight - m_DontShowCheckBox.Height - 5; end; class function TDontShowMessageDlg.Create(const ADialogs: TDialogs; const wstrMsg: WideString): TDontShowMessageDlg; begin g_wstrMsg := wstrMsg; Result := ADialogs.CreateDialog(TDontShowMessageDlg) as TDontShowMessageDlg; g_wstrMsg := ''; end; function TDontShowMessageDlg.FGetDontShow: boolean; begin Result := m_DontShowCheckBox.Checked; end; procedure TDontShowMessageDlg.FSetDontShow(bValue: boolean); begin m_DontShowCheckBox.Checked := bValue; end; function TDontShowMessageDlg.GetModalID: TModalFormID; begin Result := mfDontShowDlg; end; end.