Как отобразить греческие символы в TMenuOption - PullRequest
2 голосов
/ 21 ноября 2010

В Delphi 2010 я хочу отображать греческие символы (альфа, бета и т. Д.) В TMenuOption и других типах элементов управления VCL.

Назначение

   TEdit.Text or TMenuItem.Caption := 'Hydrogen ' + chr(945)  + ' More Text'

вроде нормально работает.

Я беспокоюсь, что это может не сработать на всех машинах. У TEdit есть свойство шрифта, а у TMenuItem нет, поэтому я предполагаю, что он использует системный шрифт по умолчанию.

Должен ли chr (945) всегда отображаться как греческий буквенный символ независимо от шрифта? Если нет, то есть ли способ убедить меня, что chr (945) всегда отображается на экране в виде буквенного символа, отличного от жесткого шрифта (что было бы сложно сделать для системного шрифта ...)

1012 * ТИА *

Ответы [ 2 ]

3 голосов
/ 21 ноября 2010

Вы также можете использовать константы.Исходные файлы тоже в юникоде, поэтому вы можете добавить любой вид константы.Просто не забудьте сохранить исходный код как Unicode.

const
  alpha = 'α';
  beta  = 'β';
  gamma = 'γ';
1 голос
/ 21 ноября 2010

Поскольку Delphi 2010 - это Unicode, chr (945) всегда указывает на один и тот же символ, в данном случае это греческая альфа.Этот символ будет отображаться правильно, если шрифт, используемый для рисования пункта меню, содержит этот символ.Нет риска рисования другого символа, за исключением, возможно, вопросительного знака, который обычно используется Windows, если шрифт не содержит определенного символа.

Большинство шрифтов Windows содержат общие символы Юникода (включаяГреческий).Однако пользователь может выбрать другой шрифт, который этого не делает.Вы можете нарисовать меню самостоятельно, используя другой шрифт, который установлен в системе, но это может быть очень трудоемким делом для чего-то, что обычно работает из коробки.

...