Как изменить надписи кнопок в модальном окне?

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
sermaxim
новенький
Сообщения: 22
Зарегистрирован: 05.07.2010 03:56:34

Как изменить надписи кнопок в модальном окне?

Сообщение sermaxim »

Нужно изменить надпись кнопки с 'YES' на "ДА", также изменить/убрать картинку с кнопки.
И можно ли выдавать окно без иконки? например mtCustom выдает иконку как mtInformation?

Это возможно сделать в теле программы не меняя исходников?

Подскажите, пожалуйста, на примере такого кода:

Код: Выделить всё

mDlg := MessageDlg('Внимание', 'Сохранить изменения?', mtConfirmation,
         [mbYes, mbNo, mbCancel],0);
alex208210
постоялец
Сообщения: 207
Зарегистрирован: 12.05.2010 13:16:51

Сообщение alex208210 »

Код: Выделить всё

function Translate(name2,Value : AnsiString; Hash : Longint; arg:pointer):AnsiString;
begin
  case StringCase(Value,['&Yes','&No','Cancel','Confirmation']) of
   0: Result:='&Да';
   1: Result:='&Нет';
   2: Result:='Отмена';
   3: Result:='Предупреждение!';
   else Result:=Value;
  end;
end;
sermaxim
новенький
Сообщения: 22
Зарегистрирован: 05.07.2010 03:56:34

Сообщение sermaxim »

alex208210, подскажите пожалуйста, а как приведенную вами функцию применить к самому окну?
sermaxim
новенький
Сообщения: 22
Зарегистрирован: 05.07.2010 03:56:34

Сообщение sermaxim »

спасибо за ссылочку! с переводом получилось :D
А как можно иконки поменять/убрать на кнопках?
и еще такой маленький вопросик: А зачем нужен амперсанд "&" перед словом? у "Cancel" его нет..
Аватара пользователя
BadBoyAlex
постоялец
Сообщения: 119
Зарегистрирован: 08.06.2010 12:42:23
Откуда: Россия, Белгород
Контактная информация:

Сообщение BadBoyAlex »

sermaxim писал(а):А зачем нужен амперсанд "&" перед словом? у "Cancel" его нет..

Для подчёркивания буквы.
Например,

Код: Выделить всё

Button1.Caption:= 'В&ыход'

на кнопке надпись:
Выход
Mr.Smart
долгожитель
Сообщения: 1796
Зарегистрирован: 29.03.2008 00:01:11
Откуда: из леса!

Сообщение Mr.Smart »

sermaxim писал(а):А как можно иконки поменять/убрать на кнопках?

Без модификации не получится
sermaxim писал(а):и еще такой маленький вопросик: А зачем нужен амперсанд "&" перед словом? у "Cancel" его нет..

Амперсанд указывает хот кей для кнопки.
sermaxim
новенький
Сообщения: 22
Зарегистрирован: 05.07.2010 03:56:34

Сообщение sermaxim »

Ясно, но у меня они подчеркиваются только в панели свойств кнопки, а после компиляции нет..

осталось еще с иконками разобраться :) надеюсь кто-нибудь подскажет)
Mr.Smart
долгожитель
Сообщения: 1796
Зарегистрирован: 29.03.2008 00:01:11
Откуда: из леса!

Сообщение Mr.Smart »

Хоткей имеет сочетание Alt+Буква. Если у вас Виндас при нажатии на Alt буква начнёт подсвечиваться.
Насчёт иконок, а вы уверенны, что это надо?
sermaxim
новенький
Сообщения: 22
Зарегистрирован: 05.07.2010 03:56:34

Сообщение sermaxim »

Mr.Smart, да очень хочется) может и решение есть столь же лаконичное как с переводом :)

действительно подсвечиваются при нажатии на alt только не срабатывает например alt+д
Mr.Smart
долгожитель
Сообщения: 1796
Зарегистрирован: 29.03.2008 00:01:11
Откуда: из леса!

Сообщение Mr.Smart »

sermaxim писал(а):да очень хочется) может и решение есть столь же лаконичное как с переводом :)

Здесь путь намного сложнее т.к. данный функционал реализован через виджеты (для кроссплатформенности). Проще реализовать данные диалоги самому.
sermaxim писал(а):действительно подсвечиваются при нажатии на alt только не срабатывает например alt+д

С русскими буквами не всегда срабатывает, но если у вас в данный момент выдрана русская раскладка клавиатуры, то должно.
Ответить