怎样改动 VC6.0 4.0 2010 打印预览界面上的文字
前言:尽管早已下决心不再碰微软的东西,但手头的项目还得须要维护。
遇到问题还能解决。
问题由来:
之前的软件开发是基于中文环境开发的,建立项目的时候,选择了中文,为了方便客户使用。我们使用了静态编译的方法,这样用户用我们的软件就不用费尽心思的去装微软的库了,如此以来。像诸如调用“打印预览”功能时,界面上显示的是 “打印”, “下一页”等所有是中文。后期须要做成其它语言的版本号。我们自己开发的对话框全是以语言文件的格式来存放的,仅仅需替换语言文件而不须要改动程序就可实现。仅仅是像系统提供的一些对话框比方“打印预览”界面,就无能为力了。先前觉得。仅仅要到了英文的操作系统下。那些语言就自己主动变成了英文。直到客户反馈过来之后。我们才发现,我们错了。到英文的操作系统下,还是中文的。重要原因是我们採用了静态编译,但这样的编译方式又不能取消。将软件执行所须要的库打包给用户。如今的操作系统百花齐放。风险也蛮大。刚好手头的事情告一段落,产品经理又找到我想新增一个葡萄牙文的,刚好就琢磨琢磨这件事情。
也在一番无谓的尝试之后,打开project下的*.rc资源文件。真是淘到宝了。
在文件里发现
"#include ""l.CHS\\afxres.rc"" // 标准组件\r\n"
"#include ""l.CHS\\afxprint.rc"" // 打印/打印预览资源\r\n"
#include "l.CHS\afxres.rc" // 标准组件
#include "l.CHS\afxprint.rc" // 打印/打印预览资源
既然是打印/打印预览资源,那就去看看究竟是什么玩意吧。在VC2010安装文件夹下搜索,发现了好几个这种文件例如以下图:
近期刚刚攻克了linux环境下中文字符的问题,所以对CHS还是比較敏感的,那不就是中文的意思嘛,其它几个。不用问肯定是别的语言了,第一个灭有语言表示的,事实上就是英文,谁让vc是美国佬开发的呢。拷贝出l.chs下的afxprint.rc看看,发现了例如以下图:
改动项目project下的*.res,使其指向相应的文件,就ok了。
解决问题的经验就是。做的久了,对问题有一定的敏感性。先是用 打印预览的ids搜索整个project,一一浏览。结果在.res发现端倪。假设你不知道afxres.rc是干嘛用的,去中文文件夹下拷贝一个看看吧。多动手才干提高。
怎样改动 VC6.0 4.0 2010 打印预览界面上的文字的更多相关文章
- ReportViewer 2010 打印预览,用鼠标快速切换显示比例时报错:存储空间不足,不能处理此命令
CreateCompatibleDIB 存储空间不足 无法处理此命令 安装 ReportViewer 2010 sp1 即可.
- CVE-2013-3908 Internet Explorer打印预览功能可导致信息泄露
原文:http://masatokinugawa.l0.cm/2014/11/ie-printpreview-infoleak.html 问题1: 在IE9和以前的版本当中进行打印预览操作时,IE会取 ...
- Spring Boot 2.0系列文章(五):Spring Boot 2.0 项目源码结构预览
关注我 转载请务必注明原创地址为:http://www.54tianzhisheng.cn/2018/04/15/springboot2_code/ 项目结构 结构分析: Spring-boot-pr ...
- .NET网页打印以及使用打印需要注意的事项(可能会引起VS崩溃的现象、打印预览后关闭功能不管用)
这两天进行给网页添加打印.打印预览.页面设置的功能.遇到了以下几个问题 [1]在网上查找了一些打印方法,一开始还可以用,后来不知道动到了哪里,点击vs中拆分或者切换到另一个设计和源代码显示方式,就会引 ...
- JS 打印功能代码可实现打印预览、打印设置等
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or ...
- MyReport:DataGrid的打印和打印预览
本文说明怎样使用MyReport来实现Flex DataGrid组件的自己主动化打印预览和打印功能. 实现代码 <? xmlversion="1.0" encoding=&q ...
- C#实现打印与打印预览功能
C#实现打印与打印预览功能的思路及代码. 在windows应用程序中文档的打印是一项非常重要的功能,在以前一直是一个非常复杂的工作,Microsoft .Net Framework的打印功能都以组件的 ...
- C#教程之打印和打印预览
最近研究一了一下关于PDF打印和打印预览的功能,在此小小的总结记录一下学习过程. 实现打印和打印预览的方法,一般要实现如下的菜单项:打印.打印预览.页面设置. PrintDocument类 Print ...
- C#实现打印与打印预览功能(转)
在windows应用程序中文档的打印是一项非常重要的功能,在以前一直是一个非常复杂的工作,Microsoft .Net Framework的打印功能都以组件的方式提供,为程序员提供了很大的方便,但是这 ...
随机推荐
- C++派生类中如何初始化基类对象(五段代码)
今天收到盛大的面试,问我一个问题,关于派生类中如何初始化基类对象,我在想派生类对于构造函数不都是先构造基类对象,然后在构造子类对象,但是如果我们在成员初始化列表先初始化派生类的私有成员,在函数内去调用 ...
- [JavaEE] 了解Java连接池
转载自51CTO http://developer.51cto.com/art/201006/207768.htm 51CTO曾经为我们简单的介绍过Java连接池.要了解Java连接池我们先要了解数据 ...
- [牛客网练习赛 45 F] Magic Slab 解题报告 (最大权闭合子图)
interlinkage: https://ac.nowcoder.com/acm/contest/847/F description: solution: 最大权闭合子图; 每个单元格看成一个正权点 ...
- 最详细的CentOS 6与7对比(三):性能测试对比
本主题将从3个角度进行对比 常见设置(CentOS 6 vs CentOS 7) 服务管理(Sysvinit vs Upstart vs Systemd) 性能测试(cpu/mem/io/oltp) ...
- Android常见面试题学习第一天(原创)
1. 内存泄漏 在android程序开发中,当一个对象已经不需要再使用了,本该被回收时,而另外一个正在使用的对象持有它的引用从而导致它不能被回收,这就导致本该被回收的对象不能被回收而停留在堆内存中,内 ...
- Java基础10一面向对象
抽象 概念:当一个类中没有足够的信息描述一个现实生活中具体存在的事物,那么这个类就是抽象类. 抽象类一般是对概念领域中的描述. 语法: [访问修饰符] abstract class 类名{ } 如: ...
- 23个Python爬虫开源项目代码:爬取微信、淘宝、豆瓣、知乎、微博等
来源:全球人工智能 作者:SFLYQ 今天为大家整理了23个Python爬虫项目.整理的原因是,爬虫入门简单快速,也非常适合新入门的小伙伴培养信心.所有链接指向GitHub,祝大家玩的愉快 1.Wec ...
- C#结束Explorer进程
private void Form1_Load(object sender, EventArgs e) { Process[] processes = Process.GetProcesses();/ ...
- JDK源码中的英文注释翻译(Class)
public final class Class<T> implements java.io.Serializable, GenericDeclaration, Type, Annotat ...
- Windows环境下制作MACOS X U盘安装盘
前两天在朋友的MAC BOOK AIR上胡乱操作时把原来安装好的双系统搞坏了,一不小心又把硬盘格式化了,导致MAC系统也没了,于是只能重新安装MACOS系统,并根据网友提供的教程,在MACOS安装OK ...