messagedlg fonksiyonu ile gösterdiğiniz mesajlarda ilk buton varsayılan olarak gelir. Kullanıcılar genelde mesajları pek okumadığı için bu bazen başınızı ağrıtabilir. Çoğu kullanıcı "bu kaydı silmek istiyor musunuz?" gibi kritik bir soruya okumadan Evet diyecek potansiyele sahiptir. Bu durumda Hayır butonunu varsayılan yapmak iyi olacaktır.
Fonksiyonumuz :
Kod: Tümünü seç
Function DefMessageDlg(const aCaption: String;
const Msg: string;
DlgType: TMsgDlgType;
Buttons: TMsgDlgButtons;
DefButton: Integer;
HelpCtx: Longint): Integer;
Var
i: Integer;
btn: TButton;
Begin
With CreateMessageDialog(Msg, DlgType, Buttons) Do
try
Caption := aCaption;
HelpContext := HelpCtx;
For i := 0 To ComponentCount-1 Do Begin
If Components[i] Is TButton Then Begin
btn := TButton(Components[i]);
btn.Default:= btn.ModalResult = DefButton;
If btn.Default Then
ActiveControl := Btn;
End;
End; { For }
Result := ShowModal;
finally
Free;
end;
End;
Kod: Tümünü seç
procedure TForm1.Button2Click(Sender: TObject);
begin
If DefMessageDlg( 'Onay',
'Bu kaydı silmek istiyor musunuz?',
mtConfirmation,
mbYesNoCancel,
mrno, //bu kısımda varsayılan buton belirleniyor
0 ) = mrYes
Then
Table1.Delete;
end;