Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

MessageBox


DelphiLexx ©   (2007-02-20 16:33:00) 

Можно ли в MessageBox задавать свои названия кнопок?


webpauk   (2007-02-20 18:21:00) [1]

unit RusDlg;

interface

implementation

uses Classes, Forms, Consts, Dialogs; //, RtpCtrls;

resourcestring
   SMsgDlgRusWarning = 'Предупреждение';
   SMsgDlgRusError = 'Ошибка';
   SMsgDlgRusInformation = 'Информация';
   SMsgDlgRusConfirm = 'Подтверждение';
   SMsgDlgRusYes = '&Да';
   SMsgDlgRusNo = '&Нет';
   SMsgDlgRusOK = 'OK';
   SMsgDlgRusCancel = 'Отмена';
   SMsgDlgRusHelp = '&Помощь';
   SMsgDlgRusHelpNone = 'Помощь недоступна';
   SMsgDlgRusHelpHelp = 'Помощь';
   SMsgDlgRusAbort = '&Прервать';
   SMsgDlgRusRetry = 'По&вторить';
   SMsgDlgRusIgnore = '&Игнорировать';
   SMsgDlgRusAll = '&Все';
   SMsgDlgRusNoToAll = 'H&ет для Всех';
   SMsgDlgRusYesToAll = 'Д&а для Всех';

const
   Captions: array[TMsgDlgType] of Pointer = (@SMsgDlgRusWarning,
   @SMsgDlgRusError,
   @SMsgDlgRusInformation, @SMsgDlgRusConfirm, nil);

   ButtonCaptions: array[TMsgDlgBtn] of Pointer = (
   @SMsgDlgRusYes, @SMsgDlgRusNo, @SMsgDlgRusOK, @SMsgDlgRusCancel,
   @SMsgDlgRusAbort,
   @SMsgDlgRusRetry, @SMsgDlgRusIgnore, @SMsgDlgRusAll, @SMsgDlgRusNoToAll,
   @SMsgDlgRusYesToAll,
   @SMsgDlgRusHelp);

procedure _ChangeCaptions(List: PPointerList;Last: Pointer);
var  i, Max: Integer;
      IsFind: Boolean;
begin
   Max := (Integer(Last)-Integer(List)) div SizeOf(Pointer);
   IsFind := False;
   for i := 0 to Max - 2 do
   if (List[i] = @SMsgDlgWarning) and (List[i+2] = @SMsgDlgInformation) then
     begin
      IsFind := True;
      break;
     end;
   if IsFind then Move(Captions, List[i], SizeOf(Captions));
   IsFind := False;
   for i := i to Max - 2 do
     if (List[i] = @SMsgDlgYes) and (List[i+2] = @SMsgDlgOK) then
       begin
         IsFind := True;
         break;
       end;
   if IsFind then Move(ButtonCaptions, List[i], SizeOf(ButtonCaptions));
end;

initialization
_ChangeCaptions(@DebugHook, @Application);
end.


Loginov Dmitry   (2007-02-20 18:13:00) [2]

Написать свой MessageBox


DelphiLexx   (2007-02-20 18:11:00) [3]


> Можно. Но не нужно.

Как можно?


Сергей М.   (2007-02-20 16:34:00) [4]

Можно. Но не нужно.


Наверх

Титульная страница Поиск, карта сайта Написать письмо