Win7 线程语言设置错误可能引起窗口排版变化
来源:互联网 发布:电脑便签软件 编辑:程序博客网 时间:2024/06/06 09:26
前些天在Win7 下的一个程序弹出打开文件的对话框,发现它的内容全部右对齐,并且使用debug 版调试的时候没有问题,但是使用release 版就有问题。开始以为程序误设了对话框对齐方式,但没有找到什么线索,反而解释不通为什么debug 版本可用。后经高手指点才知道这种现象可能语言被设置成阿拉伯国家,因为那里的习惯是右对齐的(看来不仅古代的我们是一这样的,也才知道windows 的通用窗口需要考虑到各种语言的不同排版)。顺藤摸瓜,终于发现是由于设置线程语言的变量没有初始化,正好随机到一个阿拉伯国家的语言,但这里还有个疑问,为什么界面的文字没有变成阿拉伯文?这由于自己程序的多语言文件mui 中没有阿拉伯语言,默认加载了系统当前语言的资源文件;其次可能是系统中也没有阿拉伯的语言包,因此系统窗口部分的文字也用了系统默认的语言。
总结一下,个人觉的有几点可以借鉴 1. Debug 版本下编译器会将变量初始化一个值,但Release 则可能是乱码,因此发现两个版本的表现不一致可以先关注一下是否有变量未初始化; 2. Windows 窗口显示的格式比较怪异时,可能跟当前线程语言有关; 3. 在程序中有些看似很诡异的现象其实都是有迹可循的。
- Win7 线程语言设置错误可能引起窗口排版变化
- Java泛型可能引起的错误
- scpoe设置引起的错误
- ActionBar重复设置引起错误
- 无标题栏设置引起错误
- Win7下VLD引起0xc0150002错误
- sql语句错误可能引起后台报编码错误
- win7 设置眼睛保护色窗口
- 设置win7窗口背景颜色
- mysql 1037 hy001错误可能引起的原因
- 返回局部变量的引用可能引起的错误
- hibernate映射文件写错可能引起的错误
- 关于ORACLE可能引起数字类型错误的原因之一
- 设置div大小随着窗口大小变化
- 设置body背景图片跟随窗口大小变化
- Win7、8系统下VLD引起0xc0150002错误
- VS2005因错误设置目录引起的错误
- 雾霾天也可能引起妇科病
- Java乔晓松-android中的Tween动画的使用
- arcgis入门到精通视频教程下载连接
- DFS 对一系列给定数据 进行深度优先遍历 获得54321的所有可能组合
- win7 OrCAD Capture 找不到MSVCR90.dll
- Linux网络安装介绍1
- Win7 线程语言设置错误可能引起窗口排版变化
- 0630学习笔记
- TCP流式套接字的基本编程
- 使用POI读取excel文件内容
- Ural-1025. Democracy in Danger(水题)
- Select at least one project解决办法
- C#中Application.StartupPath和System.Environment.CurrentDirectory的区别
- TCP流式套接字的阻塞模式编程
- Powershell 执行报错,提示到处数据超过了资料允许最大值的处理方式!