我正在尝试设计一个具有任何语言字符的虚拟键盘。一切都很好,除了一点:超出 0xFFFF 的代码。我将代理对用于 0xFFFF 以外的代码,如下所示:
Dim codeH As Integer
Dim codeL As Integer
If thisCode > 65535 Then
thisCode = (thisCode - &H10000)
codeH = &HD800 + (thisCode >> 10)
codeL = &HDC00 + (thisCode And &H3FF)
Return (ChrW(codeH) + ChrW(codeL))
Else
Return ChrW(thisCode)
End If
但是,一旦我将结果作为字符串显示在控件(richTextBox、标签、按钮等)上,我得到的只是一个正方形或一个空白字符。
当然,我尝试了几种字体,甚至 Arial Unicode MS,但我仍然坚持使用我的正方形......
我错过了什么?有什么解决办法吗?