Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.09.2012, 20:09   #1
Vit@L
Форумчанин
 
Аватар для Vit@L
 
Регистрация: 24.06.2009
Сообщений: 216
По умолчанию Как поменять надписи в сообщениях?

Привет всем!
Подскажите пожалуйста как изменить надписи кнопок в сообщениях. Чтобы вместо Yes, No, Cancel были Да, Нет, Отмена. А еще как изменить заголовок этого сообщения, чтобы вместо Warning, было Внимание. Ну и так далее.
Заранее спасибо!
Водку мы пьем для запаха - а дури нам своей хватает!
Vit@L вне форума Ответить с цитированием
Старый 28.09.2012, 20:37   #2
beegl
instagram
Участник клуба
 
Аватар для beegl
 
Регистрация: 24.05.2008
Сообщений: 1,451
По умолчанию

Изменить заголовок кнопки в 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
   { 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;
Для MessageDlg изменить константы из Consts.pas,

Код:
системный MessageBox 

var 
hHook : THandle = 0; 

procedure ChangeButtonCaption(Dialog : HWnd; ControlID : Integer; 
const Caption : string); 
begin 
SetWindowText(GetDlgItem(Dialog, ControlID), PChar(Caption)) 
end; 

function ChangeCaptions(nCode : Integer; 
wParam : WPARAM; 
lParam : LPARAM) : LRESULT; stdcall; 
begin 
Result := 0; 
if nCode = HCBT_ACTIVATE then begin 
ChangeButtonCaption(wParam, IDYES, "Да"); 
ChangeButtonCaption(wParam, IDNO, "Нет"); 
ChangeButtonCaption(wParam, IDCANCEL, "Отмена"); 
UnhookWindowsHookEx(hHook) 
end 
end; 

function MessageBoxRus(hWnd: HWND; lpText, lpCaption: PChar; uType: UINT): Integer; 
begin 
hHook := SetWindowsHookEx(WH_CBT, @ChangeCaptions, hInstance, GetCurrentThreadID); 
Result := MessageBox(hWnd, lpText, lpCaption, uType); 
end;

Последний раз редактировалось beegl; 28.09.2012 в 20:45.
beegl вне форума Ответить с цитированием
Старый 28.09.2012, 21:34   #3
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

ТС, вот то, что вам нужно. Информацию читайте в Readme-файле, там есть инструкция. Вообще, тема поднималась на форуме, где этот архив и был выложен, откуда я его скачал.
Изображения
Тип файла: jpg mmmmmm.JPG (7.2 Кб, 160 просмотров)
Вложения
Тип файла: zip Русский пакет для Делфи 7.zip (91.5 Кб, 20 просмотров)
Вадим Мошев вне форума Ответить с цитированием
Старый 28.09.2012, 23:37   #4
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,544
По умолчанию

MessageBox использовать.
Arigato вне форума Ответить с цитированием
Старый 29.09.2012, 00:38   #5
lux16
Форумчанин
 
Аватар для lux16
 
Регистрация: 11.02.2009
Сообщений: 305
По умолчанию

Проще всего взять стандартный consts.pas поменять его и положить в папку с проектом, и по дефолту Delphi будет его брать с изменениями
Хочу быть лучшим, но пока что я только обычный =(
lux16 вне форума Ответить с цитированием
Старый 29.09.2012, 14:11   #6
hon
Форумчанин
 
Регистрация: 08.06.2011
Сообщений: 693
По умолчанию

Код:
MessageBox(Form1.Handle,'Произошла бАльшая ошибка','Тревога!!!',MB_OK+MB_CANCEL+MBICONSTOP);
hon вне форума Ответить с цитированием
Старый 29.09.2012, 18:23   #7
Vit@L
Форумчанин
 
Аватар для Vit@L
 
Регистрация: 24.06.2009
Сообщений: 216
По умолчанию

Цитата:
Сообщение от lux16 Посмотреть сообщение
Проще всего взять стандартный consts.pas поменять его и положить в папку с проектом, и по дефолту Delphi будет его брать с изменениями
Не получилось. Поменял, положил в папку с проектом, не помогло.

Цитата:
Сообщение от hon Посмотреть сообщение
Код:
MessageBox(Form1.Handle,'Произошла бАльшая ошибка','Тревога!!!',MB_OK+MB_CANCEL+MBICONSTOP);
Отлично, то что надо. Спасибо большое!!!
Водку мы пьем для запаха - а дури нам своей хватает!
Vit@L вне форума Ответить с цитированием
Старый 30.09.2012, 13:29   #8
lux16
Форумчанин
 
Аватар для lux16
 
Регистрация: 11.02.2009
Сообщений: 305
По умолчанию

Цитата:
Сообщение от Vit@L Посмотреть сообщение
Не получилось. Поменял, положил в папку с проектом, не помогло.


Отлично, то что надо. Спасибо большое!!!
У меня помогало так же Build All
Хочу быть лучшим, но пока что я только обычный =(
lux16 вне форума Ответить с цитированием
Старый 04.10.2012, 17:08   #9
hon
Форумчанин
 
Регистрация: 08.06.2011
Сообщений: 693
По умолчанию

Цитата:
Сообщение от Vit@L Посмотреть сообщение
Отлично, то что надо. Спасибо большое!!!
Рекомендую почитать, как добавить еще кнопки, другие картинки (например знак вопроса вместо крестика): http://www.az-design.ru/index.shtml?...SB27MessageBox
hon вне форума Ответить с цитированием
Старый 13.08.2017, 09:09   #10
thoril3144857
Новичок
Джуниор
 
Регистрация: 09.07.2017
Сообщений: 1
По умолчанию

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
ТС, Русский пакет для Делфи 7.zip (91.5 Кб, 10 просмотров).
Спасибо Вам большое
thoril3144857 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сменить надписи на кнопках в калькуляторе Windows? Dimaz Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 14.04.2011 21:11
Краткая справка о сообщениях форума DeKot О форуме и сайтах клуба 4 08.09.2009 17:28
Как перерисовать кнопку Пуск после изменения надписи Sazary Win Api 2 08.06.2009 17:45
TPaintBox, как делать надписи (label) и перетаскивать изображения? Zerone Мультимедиа в Delphi 1 19.04.2009 13:26
Музыка при сообщениях delphin100 Мультимедиа в Delphi 7 08.05.2008 15:21