یک Message Dialog با امکان تغییر نوشته ی دکمه و تمام قسمتها:

function CustomMsg(const DlgCaption,Text:string; MsgType:TMsgDlgType; Buttons:TMsgDlgButtons):integer;
var
  MsgBox   : TForm;
  i        : byte;
  PicWidth : integer;
begin
  MsgBox := CreateMessageDialog(Text,MsgType,Buttons);
  try
    //Change TEXT Properties
    with (MsgBox.Controls[1] as Tlabel) do
    begin
      Font.Name := 'Tahoma';
      Font.Style := Font.Style + [fsBOLD];
      Font.Size := 8;
      WordWrap := False;
    end;
    //Change Messagebox Properties
    with MsgBox do
    begin
//      BiDiMode := bdRightToLeft;
      Font.Name := 'Tahoma';
      Font.Size := 8;
      Caption := DlgCaption;
      Width := (Controls[0] as TImage).Width +
               (Controls[1] as Tlabel).Width + 100;
    end;
  //Change Buttons' caption
    for i := 0 to MsgBox.ControlCount-1 do
      if (MsgBox.Controls[i] is TButton) then
        with (MsgBox.Controls[i] as TButton) do
        begin
          if      (UpperCase(Caption) = '&OK')         then Caption := 'ÊÇííÏ'
          else if (UpperCase(Caption) = '&YES')        then Caption := 'Èáí'
          else if (UpperCase(Caption) = '&NO')         then Caption := 'ÎíÑ'
          else if (UpperCase(Caption) = 'CANCEL')      then Caption := 'ÇäÕÑÇÝ'
          else if (UpperCase(Caption) = '&ABORT')      then Caption := 'áÛæ'
          else if (UpperCase(Caption) = '&RETRY')      then Caption := 'ÏæÈÇÑå'
          else if (UpperCase(Caption) = '&IGNORE')     then Caption := 'ÑÏ'
          else if (UpperCase(Caption) = '&ALL')        then Caption := 'åãå'
          else if (UpperCase(Caption) = 'N&O TO ALL')  then Caption := 'ÎíÑ Èå åãå'
          else if (UpperCase(Caption) = 'YES TO &ALL') then Caption := 'Èáí Èå åãå'
          else Caption := 'ÑÇåäãÇ';
        end; {with}
    Result := MsgBox.ShowModal;
  finally
    MsgBox.Free;
  end; {try}
end;

مثال:

procedure TForm1.Button1Click(Sender: TObject);
begin
 CustomMsg('caption','this is a test for delphi center',mtWarning,mbOKCancel)
end;