大家好!
VB6号称是使用Unicode代码进行字符处理的,但是他的几乎所以的控件都不支持Unicode的直接输入(他只接受中文和英文),比如我想输入个德文字母(a上有两点ALT+228)在VB6的控件里就是不行,虽然用RichText可以输入,但采集不到他的编码228,毕竟RichText是格式化的字符串。所以请大家帮帮忙,看看有什么新控件能直接输入和取得Unicode字符,或是从RichText中获取编码。谢谢!

解决方案 »

  1.   

    1、自己写个控件,加入StrConv函数进行转换!
    2、还是用VB自带的文本框 ,只不过在取数据时加上StrConv函数!
      

  2.   

    VB自带的文本框是不能输入的,不信你可以用ALT加小键盘的228试一下,在VB的TextBox中什么也没有,但是在Word中你就可以看到了。
      

  3.   

    因为是Unicode编码,所以才看不到。单独的228是无意义的unicode编码,所以被忽略。
      

  4.   

    谢谢大家的关注,ALT加小键盘的228是德语中的变元音(o上有两点),我只是想输入这个东东进文本框,但是现在做不到,所以请大家帮忙。
    我用过Forms2.0中的文本框控件,输入两个字符后就变成中文字了,也就是他根本没有用Unicode。谢谢!
      

  5.   

    有个叫WST_Engl的字体可以对输入有点反映,不过只是显示出一些符号而不是a上有两点这样的字符,而且读不到他的Ascii或Unicode值。大家知不知道有没有这样的Unicode控件,也就是说可以同时输入多个语言的控件。谢谢关注
      

  6.   

    VC和Delphi到时可以做Unicode的程序,VB不知道。
      

  7.   

    用带W后缀的API,比如CreateWindowExW可以创建一个支持Unicode的文本框……
      

  8.   

    兄弟姐妹,有没有代码,比如CreateWindowExW可以创建一个支持Unicode的文本框……
    只有能调试成功,100分就到手!
    谢谢!
      

  9.   

    VB环境中我测试了ANSI Edit和Unicode Edit,输入都变成了“?”我怀疑是VB在消息循环中提前处理了 WM_CHAR 消息,导致字符接收有问题
    (以上仅为推测)
      

  10.   

    将控件字体的Charset属性设置成德语的。
      

  11.   

    Windows 2000和XP本身就支持Unicode,在纯英文的操作系统上,设置TextBox1.Font.Charset = 134 (GB2312_CHARSET),即可显示出中文,而不是“??”。
      

  12.   

    字体和字符集是两回事,我们可以在Font中选择字体,而不能选择字符集。字符集是根据字体变化的。
      

  13.   

    >> 字体和字符集是两回事,我们可以在Font中选择字体,而不能选择字符集。字符集是根据字体变化的。当然不是,一种字体可以使用多种字符集,试一试便知。
      

  14.   

    创建好Unicode Edit之后应该还需要子类处理过的,呵呵
      

  15.   

    那些乱七八糟的字符倒是可以被复制粘贴到Unicode的Edit里
      

  16.   

    我在VB里已经 CreateWindowExW 了,但是实际结果是:不行。TO 绿豆:哪些乱七八糟的字符可以被复制粘贴到Unicode的Edit里?举个例子可以吗?
      

  17.   


    还有,我在notepad里也进行了测试,可以输入 ALT + 228 (无论任何字体 和 字符集!)
    所以偶越来越怀疑是VB的MessageLoop里做了手脚~~~~~~