2017-02-16 69 views
3

Я пытаюсь установить символ в VB6Label.отображение символа «≤» в метке VB6

Глядя на https://en.wikipedia.org/wiki/List_of_Unicode_characters

код будет 2264.

Label.Text = Chr(2264) вызывает ошибку Label.Text = ChrW$(2264) задает знак вопроса «?»

Кто-нибудь знает, как получить этот характер

+2

VB6 поддерживает Unicode в том смысле, что строки Unicode. Его формы не являются Unicode, хотя и управляются набором символов для программ, отличных от Unicode (очевидно, я [уже сказал это все]) (http://stackoverflow.com/a/6552368/11683)). Если нужный вам символ не является частью выбранного в настоящий момент набора символов для программ, отличных от Юникода, VB6 не отобразит его в форме, если вы не нарисуете все с помощью вызовов API, поддерживающих Unicode (например, http://stackoverflow.com/ д/13515686/11683). – GSerg

+3

как обходной путь, вы можете использовать & <в своей подписке. это покажет что-то очень похожее на ваш желаемый результат. – nabuchodonossor

+2

VB6 Forms не проблема, вам просто нужно использовать элементы управления Unicode. У VB6 нет элемента управления ярлыками Unicode, но есть много плавающих вокруг там как OCX и модули .CTL UserControl, которые вы можете скомпилировать в программы. – Bob77

ответ

1
Label.Text = ChrW(&H2264) ' <-- &H for Hexadecimal 

2264 является Hexadecimal код, вы можете увидеть его here.

В десятичной форме это ChrW(8804).

+0

Thx для объяснения. Однако, как ChrW (& H2264), так и ChrW (8804) отображаются как «=» в Label :( –

+0

Я понимаю, что это работало для меня в (Excel) VBA на самом деле. Для приложений Vb6 для работы с Unicode вы должны следовать Комментарий @GSerg. –

0

Шток Symbol шрифт содержит этот символ в качестве AnSi элемент кода и так работает, не требуя понимания юникода, как надуманный пример с 3 автоматическим изменением размера этикетки:

lbl_left.Caption = "999" 

lbl_middle.Font.Name = "Symbol" 
lbl_middle.Caption = ChrW$(&HA3) 
lbl_middle.Left = lbl_left.Left + lbl_left.Width + Me.TextWidth(" ") 

lbl_right.Caption = "1000" 
lbl_right.Left = lbl_middle.Left + lbl_middle.Width + Me.TextWidth(" ") 
+0

Работает, когда «Язык для программ, отличных от Юникода», например, «en-gb». Отображает '?', Когда «Язык для программ, не относящихся к Unicode», например, «ru-ru'. – GSerg

 Смежные вопросы

  • Нет связанных вопросов^_^