2012-02-04 17 views
7

VCL uygulamasında iletileri göstermek için Application.MessageBox kullanıyorum, ancak uygulama vcl stili uygulandığında, geçerli pencere stili yerine pencere stili ile ileti penceresi gösterilir. Ben şimdiki vcl tarzı ile bir mesaj kutusu nasıl gösterilebilir?Vcl stilleri etkinleştirildiğinde uygulamamın mesaj kutusunu nasıl ciltleyebilirim?

Örnek kod

Application.MessageBox('Hello World', 'Hello', MB_OK + MB_ICONINFORMATION); 

Örnek Resim

enter image description here

?

+1

Herkes WinAmp hatırlıyor? –

cevap

14

Application.MessageBox işlevi dahili olarak MessageBox WinAPi işlevini çağırır, bu pencere delphi tarafından oluşturulan bir form değildir, bu nedenle Vcl stilleriyle ciltlenemez. Bunun yerine, MessageDlg işlevi gibi Vcl.Dialogs biriminde bildirilen iletişim sınıfları ve işlevlerinden birini kullanmanız gerekir. Başka

MessageDlg('Hello World', mtInformation, [mbOK], 0); 

enter image description here

+0

Bu iletişim sınıfları henüz CTRL + C'yi destekliyor mu? –

+0

@DavidHeffernan, Evet. – RRUZ

+0

Sadece denedim. CTRL + C'yi çok iyi desteklemez, çünkü tuşlara bastığınızda, bilgisayar uyarı zili çalar. Sanırım hata ayıklayacağım ve QC olacak. –