我给大家一个例子,请教看看如何解决?
Dim str As String
str = ChrW(&H2480)'对应一个男人图案RichTextBox1.SelFontName = "Webdings"'这是字库文件SendMessage RichTextBox1.hwnd, EM_REPLACESEL, 0, ByVal str '发送按键字符RichTextBox1.SelStart = RichTextBox1.SelStart - 1
RichTextBox1.SelLength = 1MsgBox Hex(AscW(RichTextBox1.SelText))
上边的程序,按理MsgBox显示的应该是2480,但是出来的是3F,注意如果读取&H4E00以后的汉字部分,是没有问题的。如果将上边程序中的2480换成2481(对应女人图案),在RICHTEXTBOX中显示是没有问题的,关键是MsgBox读取出来的还是3F,这是为何?请问如果要想得到2480这个编码,最简单的方法是什么?谢谢!

解决方案 »

  1.   

    你必须使用 GB 码。不要直接用区位码。&H3f 是问号 ?。中文系统对于无法解析的 Unicode 码,一律替换为问号。
      

  2.   

    使用 GB 码。我想用micrsoft Unicode BMP Only平台进行,如何映射到字库中,不涉及中文的处理问题,所有的字体自己做?  或者说,直接一点,Webdings图形字库文件使用的是micrsoft symbol平台进行映射,实现字符显示与读取。学习这种字库的模式,如何建立自己的个性字库,实现字符的读取与显示?