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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.07.2014, 17:09   #1
Xo66um
Форумчанин
 
Регистрация: 11.05.2013
Сообщений: 154
По умолчанию Русификация кнопок InputBox в D7

Всем привет.

Собственно, сабж. Можно ли изменить заголовки кнопок в диалоге InputBox из программы? т.е. не прибегая к редактированию каких-то определенных файлов Delphi 7.
Xo66um вне форума Ответить с цитированием
Старый 21.07.2014, 17:15   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Придется переписать исходники InputBox.
Или написать свою замену.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.07.2014, 17:21   #3
Xo66um
Форумчанин
 
Регистрация: 11.05.2013
Сообщений: 154
По умолчанию

Спасибо, разобрался.

Плюс поставил.
Xo66um вне форума Ответить с цитированием
Старый 21.07.2014, 17:28   #4
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Цитата:
Придется переписать исходники InputBox.
Или написать свою замену.
или поставить хук WinAPI и переписать свои же ресурсы в Run-Time. Я так MessageDlg сделал мультиязычным в XE6.
Человек_Борща вне форума Ответить с цитированием
Старый 21.07.2014, 17:42   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
или поставить хук WinAPI
ЯИМХО проще свой написать. Там не так уж и много надо, это ведь простейший диалог.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.07.2014, 17:45   #6
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Цитата:
ЯИМХО проще свой написать. Там не так уж и много надо, это ведь простейший диалог.
По кол-ву кода - не сказал бы. Хук 5 строчек - диалог - много строчек. © Ындусский метод.
Человек_Борща вне форума Ответить с цитированием
Старый 21.07.2014, 18:05   #7
Xo66um
Форумчанин
 
Регистрация: 11.05.2013
Сообщений: 154
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
или поставить хук WinAPI и переписать свои же ресурсы в Run-Time. Я так MessageDlg сделал мультиязычным в XE6.
Пример можно? А то я вообще не понимаю как это можно сделать.
Xo66um вне форума Ответить с цитированием
Старый 21.07.2014, 18:22   #8
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

http://www.swissdelphicenter.ch/en/showcode.php?id=946
Код:
ses
  Consts;

procedure TForm1.Button1Click(Sender: TObject);
begin
  InputBox('Test', 'Enter something', 'Test');
end;

procedure HookResourceString(rs: PResStringRec; newStr: PChar);
var
  oldprotect: DWORD;
begin
  VirtualProtect(rs, SizeOf(rs^), PAGE_EXECUTE_READWRITE, @oldProtect);
  rs^.Identifier := Integer(newStr);
  VirtualProtect(rs, SizeOf(rs^), oldProtect, @oldProtect);
end;

const
  NewOK: PChar = 'New Ok';
  NewCancel: PChar = 'New Cancel';

initialization
  HookResourceString(@SMsgDlgOK, NewOK);
  HookResourceString(@SMsgDlgCancel, NewCancel);
end.
Человек_Борща вне форума Ответить с цитированием
Старый 21.07.2014, 18:26   #9
Xo66um
Форумчанин
 
Регистрация: 11.05.2013
Сообщений: 154
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
Очень интересный метод. Не знал, что можно изменять константы. Спасибо большое
Xo66um вне форума Ответить с цитированием
Старый 21.07.2014, 18:33   #10
Vapaamies
Просветитель
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,844
По умолчанию

А еще на CodeNet.ru я когда-то выкладывал русифицированные модули с константами VCL. По Сети ходит также альтернативный перевод.
В разработке: воспроизводственный контур ИТ
Vapaamies вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Русификация вывода Lazy maximka Помощь студентам 2 30.04.2011 15:36
Русификация Ubuntu Linux 9.04 DRAgon™ Linux (Ubuntu, Debian, Red Hat, CentOS, Mint) 3 30.08.2010 22:00
Русификация программы seraff2 Общие вопросы C/C++ 2 23.02.2010 14:38
Русификация Патрон Общие вопросы Delphi 4 06.05.2008 20:28
Русификация паскаля Exact Паскаль, Turbo Pascal, PascalABC.NET 7 21.03.2008 14:15