Как исправить на русские надписи в PopUp меню
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
-
- Старожил
- Сообщения: 238
- Зарегистрирован: 10 Ноябрь 2005, 23:07
- Откуда: Краснодар
- Благодарил (а): 6 раз
Как исправить на русские надписи в PopUp меню
Здравствуйте!
CW6.3, ABC
Исходные данные: стандартные Browse, кнопки шаблона редактирования ?Insert, ?Change, ?Delete без названия, с иконками.
Получаю: в ниспадающем меню соответствующие пункты меню в виде иконок кнопок и их наименование на английском: Insert, Change, Delete.
Хочу: заменить английские надписи на русские.
Как это сделать?
Может с помощью SetItem? Тогда как правильно задать первые два параметра в SELF.SetItem(SELF.LocateName(NameToFollow),Level,Name,MenuText) (UNSIGNED AddAfter,UNSIGNED Level,STRING BaseName,STRING MenuText)?
CW6.3, ABC
Исходные данные: стандартные Browse, кнопки шаблона редактирования ?Insert, ?Change, ?Delete без названия, с иконками.
Получаю: в ниспадающем меню соответствующие пункты меню в виде иконок кнопок и их наименование на английском: Insert, Change, Delete.
Хочу: заменить английские надписи на русские.
Как это сделать?
Может с помощью SetItem? Тогда как правильно задать первые два параметра в SELF.SetItem(SELF.LocateName(NameToFollow),Level,Name,MenuText) (UNSIGNED AddAfter,UNSIGNED Level,STRING BaseName,STRING MenuText)?
- Игорь Столяров
- Ветеран движения
- Сообщения: 8028
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 96 раз
Как исправить на русские надписи в PopUp меню
Привет !
Если "нисподающее меню" - это контекстное меню на BROWSE, то можно сделать вот так:
Если "нисподающее меню" - это контекстное меню на BROWSE, то можно сделать вот так:
Код: Выделить всё
....
! Prepare Alert Keys
SELF.SetAlerts()
! Вот здесь вставляем русификацию кнопок шаблона
BRW1.Popup.SetText('Insert','Добавить<9>Ins')
BRW1.Popup.SetText('Change','Изменить<9>Ctrl+Enter')
BRW1.Popup.SetText('Delete','Удалить<9>Del')
Make Clarion Great Again ! 
-
- Старожил
- Сообщения: 238
- Зарегистрирован: 10 Ноябрь 2005, 23:07
- Откуда: Краснодар
- Благодарил (а): 6 раз
Как исправить на русские надписи в PopUp меню
Спасибо, Игорь, за быстрый ответ!
Все получилось. Но тогда у меня вопрос. Почему название горячей клавиши (Del) в третьей строке, в отличии от двух предыдущих верхних строк, не сместилось на такую же величину вправо? Может из-за наличия вслед идущей разделительной линии?
Все получилось. Но тогда у меня вопрос. Почему название горячей клавиши (Del) в третьей строке, в отличии от двух предыдущих верхних строк, не сместилось на такую же величину вправо? Может из-за наличия вслед идущей разделительной линии?
-
- Старожил
- Сообщения: 238
- Зарегистрирован: 10 Ноябрь 2005, 23:07
- Откуда: Краснодар
- Благодарил (а): 6 раз
Как исправить на русские надписи в PopUp меню
Разделительная линия оказалась здесь не причем, а проблема разрешилась добавлением еще одного знака табуляции <9>. Хотя причина так и осталась не выясненной. Наверное она исходит из-за длины русских названий этих пунктов меню. Слово Удалить (7) короче слов Добавить и Изменить (8).
- Игорь Столяров
- Ветеран движения
- Сообщения: 8028
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 28 раз
- Поблагодарили: 96 раз
Как исправить на русские надписи в PopUp меню
Бесполезно, это известный косяк RTL С63. Не лечится.
Все равно под другой темой оформления, системным шрифтом, Windows и т.д. будет смещаться.
Тот же самый код в сборке под C10 работает идеально:
Make Clarion Great Again ! 
-
- ✯ Ветеран ✯
- Сообщения: 5159
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Как исправить на русские надписи в PopUp меню
Наличие в тексте пункта меню символа табулирования должно провоцировать выравнивание части строки после символа табулирования по правому краю. Не дело выравнивать разным количеством табов. И в С10 это реализовано правильно. С некоторых пор
.

We are hard at work… for you. 

Как исправить на русские надписи в PopUp меню
Там есть ещё одна проблема. В ряде случаев происходит переход не на тот пункт меню
В Browse это не видно, потому что слова Добавить, Изменить, Удалить расположены по алфавиту, а вот если надписи на кнопках не по алфавиту - может и взглюкнуть
Надо в abpopup.clw найти метод GetUniqueName, а там (строка примерно 674)
И добавить пару строк
и всё будет
...
В Browse это не видно, потому что слова Добавить, Изменить, Удалить расположены по алфавиту, а вот если надписи на кнопках не по алфавиту - может и взглюкнуть

Надо в abpopup.clw найти метод GetUniqueName, а там (строка примерно 674)
Код: Выделить всё
CASE VAL (ThisItem[C])
OF VAL('A') TO VAL('Z')
OROF VAL('a') TO VAL('z')
И добавить пару строк
Код: Выделить всё
OROF VAL('А') TO VAL('Я')
OROF VAL('а') TO VAL('я')

-
- Старожил
- Сообщения: 238
- Зарегистрирован: 10 Ноябрь 2005, 23:07
- Откуда: Краснодар
- Благодарил (а): 6 раз
Как исправить на русские надписи в PopUp меню
Спасибо всем откликнувшимся участникам!
И спасибо Юрию за освещение лежащих в дальнем углу граблей, наступить на которые совсем не хотелось бы!
И спасибо Юрию за освещение лежащих в дальнем углу граблей, наступить на которые совсем не хотелось бы!
-
- ✯ Ветеран ✯
- Сообщения: 5159
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Как исправить на русские надписи в PopUp меню
Да это перестраховка, eсли вызывать метод AddItem вот так:Yufil писал(а):Там есть ещё одна проблема. В ряде случаев происходит переход не на тот пункт меню
В Browse это не видно, потому что слова Добавить, Изменить, Удалить расположены по алфавиту, а вот если надписи на кнопках не по алфавиту - может и взглюкнуть![]()
Надо в abpopup.clw найти метод GetUniqueName, а там (строка примерно 674)Код: Выделить всё
CASE VAL (ThisItem[C]) OF VAL('A') TO VAL('Z') OROF VAL('a') TO VAL('z')
И добавить пару строки всё будетКод: Выделить всё
OROF VAL('А') TO VAL('Я') OROF VAL('а') TO VAL('я')
...
Код: Выделить всё
BRW1.Popup.AddItem('Добавить')
We are hard at work… for you. 

Как исправить на русские надписи в PopUp меню
Ну да, возможно... Но у меня и самый обычный Browse глючил (кажется, если прятал кнопку, но могу и ошибаться), иначе нафиг бы я эту правку вноcил много-много лет назад. Кстати, эта тема уже обсуждалась, можно поиском на форуме по abpopup найти
-
- ✯ Ветеран ✯
- Сообщения: 5159
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
Как исправить на русские надписи в PopUp меню
Теоретически возможно. Нужно перелопатить классы и шаблоны. А что качается формирования меню для броуза, то там используется метод AddMimicButton, в котором нет вызова проблемного метода. Могу ошибаться, конечно.Yufil писал(а):Ну да, возможно... Но у меня и самый обычный Browse глючил (кажется, если прятал кнопку, но могу и ошибаться), иначе нафиг бы я эту правку вноcил много-много лет назад. Кстати, эта тема уже обсуждалась, можно поиском на форуме по abpopup найти
We are hard at work… for you. 
