• 【转】Max2013脚本工具的乱码问题


    转自:http://www.cnblogs.com/sitt/archive/2012/11/21/2780481.html

    有时一些中文的脚本会在max2013中显示为乱码,是因为max2013将多种语言统一在一起的缘故,在开始菜单中max2013可以用支持的各种语言的版本启动。

    题外插一句,可见还是用英文比较合适,不会出现乱码问题,哈哈。

    要解决使用中文的脚本乱码问题,方式如下。

    第一种是手动

    ========================================================================

    惯例分隔线,以下是代码改变选项的方式,美术同鞋可以止步了,技术美术和程序请继续

    ========================================================================

    这个选项就保存在3dsmax.ini中,可以读ini文件来判断或设置

    if "2052" != GetINISetting (GetMAXIniFile()) "File Language Options" "LanguageToUseForFileIO" do
    SetINISetting (GetMAXIniFile()) "File Language Options" "LanguageToUseForFileIO" "2052"

    当然修改ini文件会有个缺点,就是需要重启max。如果不想重启max,可以用下面的函数

    复制代码
    Fn SetDefaultLanguageToChinese = 
    (
        if (MaxVersion() )[1] >= 15000 do
        if "2052" != GetINISetting (GetMAXIniFile()) "File Language Options" "LanguageToUseForFileIO" do 
        (
            DialogMonitorOPS.UnRegisterNotification id:#SetDefaultLanguageToChinese
            Fn DialogMonitorCallBackSetDefaultLanguageToChinese = 
            (
                currentHandle = DialogMonitorOPS.GetWindowHandle()
                if "Preference Settings" == UIAccessor.GetWindowText currentHandle do
                (
                    languageNames = #("Chinese","English","German","French","japanese","Korean","Current")
                    childrens = Windows.getChildrenHWND currentHandle
                    
                    languageLabel = undefined 
                    for tempControl in childrens where tempControl[5] == "Default Language:" do 
                    (
                        languageLabel = tempControl
                    )
                    if languageLabel != undefined do
                    for tempControl in childrens where 
                    (
                        tempControl[2]==languageLabel[2] and 
                        tempControl[3]==languageLabel[3]  and 
                        "ComboBox" == tempControl[4] and 
                        FindItem languageNames tempControl[5] != 0
                    )
                    do
                    (
                        UIAccessor.SendMessage tempControl[1] 0x014E 6 0
                    )
                    UIAccessor.SendMessageID currentHandle #IDOK
                )
                true
            )
            DialogMonitorOPS.RegisterNotification DialogMonitorCallBackSetDefaultLanguageToChinese id:#SetDefaultLanguageToChinese
            DialogMonitorOPS.Enabled = true
            DialogMonitorOPS.ShowNotification()
            max file preferences
            DialogMonitorOPS.UnRegisterNotification id:#SetDefaultLanguageToChinese
            DialogMonitorOPS.Enabled = false
        )
    )
    SetDefaultLanguageToChinese()
  • 相关阅读:
    win10企业版激活密钥
    百科知识 手机QQ的视频如何保存
    华为荣耀7手机如何开启开发者模式,开启调试模式
    C#如何设置控件水平对齐,垂直对齐
    C#如何实现挂机锁
    JAVA_MyEclipse常见配置NETGEAR路由器如何设置
    JAVA_MyEclipse如何加载Tomcat
    VC++_错误 无法打开包括文件“glglut.h” No such file or directory 怎么办
    生活娱乐 达尔优的键盘鼠标如何打开和关闭呼吸灯
    新版的豌豆荚如何连接电脑
  • 原文地址:https://www.cnblogs.com/fzzl/p/3341287.html
Copyright © 2020-2023  润新知