2

Delphi 2010에서는 TMenuOption 및 다른 유형의 VCL 컨트롤에 그리스 기호 (알파, 베타 등)를 표시하려고합니다.TMenuOption에 그리스 기호를 표시하는 방법

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

지정

잘 작동하는 것 같다.

모든 컴퓨터에서 작동하지 않을 수도 있습니다. TEdit에는 글꼴 속성이 있지만 TMenuItem에는없는 글꼴이 있으므로 일부 기본 시스템 글꼴이 사용됩니다.

글꼴에 관계없이 chr (945)는 항상 그리스 문자로 표시해야합니까? 그렇지 않다면 chr (945)이 글꼴을 하드 - 와이어 링하는 것 이외의 알파 문자로 항상 화면에 표시된다는 것을 확신 할 수있는 방법이 있습니까 (시스템 글꼴의 경우에는 어려울 것입니다 ...)

TIA

답변

1

Delphi 2010은 유니 코드이므로 chr (945)은 항상 같은 문자 (이 경우 그리스어 알파)를 가리 킵니다. 이 문자는 메뉴 항목을 그리는 데 사용되는 글꼴에 해당 문자가 포함되어 있으면 올바르게 표시됩니다. 글꼴에 특정 문자가 포함되어 있지 않은 경우 일반적으로 Windows에서 사용하는 물음표를 제외하고 다른 문자가 그려 질 위험이 없습니다.

대부분의 Windows 글꼴에는 그리스어를 포함한 일반적인 유니 코드 문자가 포함되어 있습니다. 그러나 사용자는 다른 글꼴을 선택할 수 있습니다. 시스템에 설치된 다른 글꼴을 사용하여 직접 메뉴를 그릴 수 있지만 일반적으로 정상적으로 작동하는 무언가에 대해서는 엄청난 작업 일 수 있습니다.

3

또한 상수를 사용할 수 있습니다. 소스 파일은 유니 코드이기 때문에 어떤 종류의 상수라도 추가 할 수 있습니다. 소스를 유니 코드로 저장하는 것을 잊지 마십시오.

const 
    alpha = 'α'; 
    beta = 'β'; 
    gamma = 'γ'; 
+0

맞아요,하지만 그 질문은 아닙니다. chr (945)와 'α'는 같은 문자를 반환하며 둘 다 메뉴 캡션에서 사용될 때 문제를 겪을 수 있습니다. – GolezTrol

+0

감사합니다, Gamecat, 찬성. GolezTrol이 지적했듯이 그것은 정확히 제 질문이 아니 었습니다. 필자가 선호하는 오래된 유틸리티 중 일부는 잘 처리하지 못하므로 내 단위에 국제 문자를 포함시키지 않는 것이 좋습니다. – RobertFrank

관련 문제