FireMonkey ile MessageDlg Kullanımı

FireMonkey ve Mobil uygulama (iOS, Android, Windows Phone) ile ilgili sorularınızı bu foruma sorabilirsiniz.
Cevapla
Kullanıcı avatarı
Ilgaz
Üye
Mesajlar: 16
Kayıt: 06 Eki 2016 10:34

FireMonkey ile MessageDlg Kullanımı

Mesaj gönderen Ilgaz »

Merhaba,

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');
  
Kısmını şu şekilde güncelleyin:

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');
  
Cevapla