Code function MyMessageDialog(const Msg: string; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; Captions: array of string): Integer; var aMsgDlg: TForm; i: Integer; dlgButton: TButton; CaptionIndex: Integer; begin //Создаём диалог и записываем в переменную aMsgDlg чтобы потом работать с ним aMsgDlg := CreateMessageDialog(Msg, DlgType, Buttons); captionIndex := 0; //в цикле перебираем все кнопки диалога и задаем им соотв. заголовки. for i := 0 to aMsgDlg.ComponentCount - 1 do begin if (aMsgDlg.Components[i] is TButton) then begin dlgButton := TButton(aMsgDlg.Components[i]); if CaptionIndex > High(Captions) then Break; dlgButton.Caption := Captions[CaptionIndex]; Inc(CaptionIndex); end; end; //показываем диалог юзеру Result := aMsgDlg.ShowModal; end; Созданный диалог можно использовать как обычный обрабатывая привычные нажатия кнопок. Code if MyMessageDialog('Что жмём??', mtConfirmation, mbOKCancel, ['1', '2']) = mrOk then ShowMessage('Нажата кнопка "1"') else ShowMessage('Нажата кнопка "2"');
|