XE3 itibariyle MessageDlg kütüphanesinin VCL dışında herhangi bir çatı altında desteklenmeyeceği söylenilmişti. 2014 yılı itibariyle Fmx.Dialogs kütüphanesi, Fmx.DialogsService ve System.UITypes ile birleştirilmiş ve ShowMessage() desteği eklenilmişti. Seattle ve Berlin ile birlikte artık Confirm Message Dialog olarak bilinen MessageDlg desteği aktif hale getirilmiş.
Kullanımı şu şekildedir:
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
begin
MessageDlg('Emin misiniz?', System.UITypes.TMsgDlgType.mtInformation,
[System.UITypes.TMsgDlgBtn.mbYes, System.UITypes.TMsgDlgBtn.mbNo], 0,
procedure(const AResult: TModalResult)
begin
case AResult of
mrYes:
begin
Label1.Text := 'Evet';
end;
mrNo:
begin
Label1.Text := 'Hayır';
end;
end;
end);
end;
Yes, No, Cancel, OK gibi sabitler kütüphanesinde İngilizce olarak tanımlanmış olan buton isimlerini Türkçeleştirmek için;
..\Embarcadero\Studio\18.0(Veya kullandığınız sürüm)\source\vcl > VCL.Dialogs.pas dosyasını açın.
Kod: Tümünü seç
ButtonNames: array[TMsgDlgBtn] of string = (
'Yes', 'No', 'OK', 'Cancel', 'Abort', 'Retry', 'Ignore', 'All', 'NoToAll',
'YesToAll', 'Help', 'Close');
Kod: Tümünü seç
ButtonNames: array[TMsgDlgBtn] of string = (
'Evet', 'Hayır', 'Tamam', 'İptal', 'Reddet', 'Tekrar dene', 'Reddet', 'Tümü', 'Tümüne hayır',
'Tümüne evet', 'Yardım', 'Kapat');