Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Изменить заголовок кнопки в MessageDlg

Delphi , Программа и Интерфейс , Диалоги и Фреймы

Изменить заголовок кнопки в MessageDlg

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

function MyMessageDialog(const Msg: string; DlgType: TMsgDlgType;
   Buttons: TMsgDlgButtons; Captions: array of string): Integer;
 var
   aMsgDlg: TForm;
   i: Integer;
   dlgButton: TButton;
   CaptionIndex: Integer;
 begin
   { Create the Dialog }
   { Dialog erzeugen }
   aMsgDlg := CreateMessageDialog(Msg, DlgType, Buttons);
   captionIndex := 0;
   { Loop through Objects in Dialog }
   { Uber alle Objekte auf dem Dialog iterieren}
   for i := 0 to aMsgDlg.ComponentCount - 1 do
   begin
    { If the object is of type TButton, then }
    { Wenn es ein Button ist, dann...}
     if (aMsgDlg.Components[i] is TButton) then
     begin
       dlgButton := TButton(aMsgDlg.Components[i]);
       if CaptionIndex > High(Captions) then Break;
       { Give a new caption from our Captions array}
       { Schreibe Beschriftung entsprechend Captions array}
       dlgButton.Caption := Captions[CaptionIndex];
       Inc(CaptionIndex);
     end;
   end;
   Result := aMsgDlg.ShowModal;
 end;

 procedure TForm1.Button1Click(Sender: TObject);
 begin
   if MyMessageDialog('How much...?', mtConfirmation, mbOKCancel,
     ['1', '2']) = mrOk then
     ShowMessage('"1" clicked')
   else
     ShowMessage('"2" clicked');
 end;

Переведенный текст:

Код, предоставленный вами, создает диалоговое окно с настраиваемыми кнопками. Функция MyMessageDialog принимает четыре параметра: сообщение для отображения, тип диалога (например, подтверждение или ошибка), стиль кнопок (например, ОК и Отмена) и массив заголовков для каждой кнопки.

Чтобы изменить заголовок кнопки в MessageDlg, вы можете использовать следующий модифицированный код:

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 := CreateMessageDialog(Msg, DlgType, Buttons);
  CaptionIndex := 0;

   { Перебрать объекты в диалоге }
  for i := 0 to aMsgDlg.ComponentCount - 1 do
  begin
     { Если объект является типом TButton, то }
    if (aMsgDlg.Components[i] is TButton) then
    begin
      dlgButton := TButton(aMsgDlg.Components[i]);
      if CaptionIndex > High(Captions) then Break;
       { Дать новый заголовок из нашего массива Captions }
      dlgButton.Caption := 'Новый заголовок кнопки';
      Inc(CaptionIndex);
    end;
  end;

  Result := aMsgDlg.ShowModal;
end;

В этом модифицированном коде dlgButton.Caption устанавливается в 'Новый заголовок кнопки', что изменит заголовок каждой кнопки в диалоговом окне.

Изменение заголовка кнопки в MessageDlg может быть выполнено с помощью цикла foreach, проходящего по компонентам формы и изменяющего caption соответствующей кнопке.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Диалоги и Фреймы ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-06-16 09:20:43/0.0059640407562256/0