前言:尽管早已下决心不再碰微软的东西,但手头的项目还得须要维护。

遇到问题还能解决。

问题由来:

之前的软件开发是基于中文环境开发的,建立项目的时候,选择了中文,为了方便客户使用。我们使用了静态编译的方法,这样用户用我们的软件就不用费尽心思的去装微软的库了,如此以来。像诸如调用“打印预览”功能时,界面上显示的是 “打印”, “下一页”等所有是中文。后期须要做成其它语言的版本号。我们自己开发的对话框全是以语言文件的格式来存放的,仅仅需替换语言文件而不须要改动程序就可实现。仅仅是像系统提供的一些对话框比方“打印预览”界面,就无能为力了。先前觉得。仅仅要到了英文的操作系统下。那些语言就自己主动变成了英文。直到客户反馈过来之后。我们才发现,我们错了。到英文的操作系统下,还是中文的。重要原因是我们採用了静态编译,但这样的编译方式又不能取消。将软件执行所须要的库打包给用户。如今的操作系统百花齐放。风险也蛮大。刚好手头的事情告一段落,产品经理又找到我想新增一个葡萄牙文的,刚好就琢磨琢磨这件事情。

也在一番无谓的尝试之后,打开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 打印预览界面上的文字的更多相关文章

  1. ReportViewer 2010 打印预览,用鼠标快速切换显示比例时报错:存储空间不足,不能处理此命令

    CreateCompatibleDIB 存储空间不足 无法处理此命令 安装 ReportViewer 2010 sp1 即可.

  2. CVE-2013-3908 Internet Explorer打印预览功能可导致信息泄露

    原文:http://masatokinugawa.l0.cm/2014/11/ie-printpreview-infoleak.html 问题1: 在IE9和以前的版本当中进行打印预览操作时,IE会取 ...

  3. Spring Boot 2.0系列文章(五):Spring Boot 2.0 项目源码结构预览

    关注我 转载请务必注明原创地址为:http://www.54tianzhisheng.cn/2018/04/15/springboot2_code/ 项目结构 结构分析: Spring-boot-pr ...

  4. .NET网页打印以及使用打印需要注意的事项(可能会引起VS崩溃的现象、打印预览后关闭功能不管用)

    这两天进行给网页添加打印.打印预览.页面设置的功能.遇到了以下几个问题 [1]在网上查找了一些打印方法,一开始还可以用,后来不知道动到了哪里,点击vs中拆分或者切换到另一个设计和源代码显示方式,就会引 ...

  5. JS 打印功能代码可实现打印预览、打印设置等

      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or ...

  6. MyReport:DataGrid的打印和打印预览

    本文说明怎样使用MyReport来实现Flex DataGrid组件的自己主动化打印预览和打印功能. 实现代码 <? xmlversion="1.0" encoding=&q ...

  7. C#实现打印与打印预览功能

    C#实现打印与打印预览功能的思路及代码. 在windows应用程序中文档的打印是一项非常重要的功能,在以前一直是一个非常复杂的工作,Microsoft .Net Framework的打印功能都以组件的 ...

  8. C#教程之打印和打印预览

    最近研究一了一下关于PDF打印和打印预览的功能,在此小小的总结记录一下学习过程. 实现打印和打印预览的方法,一般要实现如下的菜单项:打印.打印预览.页面设置. PrintDocument类 Print ...

  9. C#实现打印与打印预览功能(转)

    在windows应用程序中文档的打印是一项非常重要的功能,在以前一直是一个非常复杂的工作,Microsoft .Net Framework的打印功能都以组件的方式提供,为程序员提供了很大的方便,但是这 ...

随机推荐

  1. oc09--NSString

    // // main.m // 类方法,不可以直接访问对象的属性和方法,类方法中可以直接调用类方法. // NSString基本使用 #import <Foundation/Foundation ...

  2. motion程序的移植和安装【转】

    本文转载自:http://blog.csdn.net/guozhiyuan20095318/article/details/7310486 motion是一个开源的用于移动图像监控的程序.我在做博创杯 ...

  3. PHP 和 Java 的主要区别有哪些?

    PHP 和 Java 的主要区别有哪些? 其实Java方面我要学的真的还有很多,要是有大项目的机会和经验就好,所以提前我肯定要把基础打扎实. 我要学的还有很多,比如前段,后端,还有linux,还有肯定 ...

  4. Python 中的循环与 else

    1. 含义 Python 中的循环与 else 有以下两种形式 for - else while - else Python中的 for.while 循环都有一个可选(optional)的 else ...

  5. SQL Server 2005外围应用配置器

     在SQL Server Configuration Manager中,重启“SQL Server(SQL2005)”服务.

  6. 08.HttpUrlconnection方式调用

    package com.rl.client; import java.io.BufferedInputStream; import java.io.BufferedReader; import jav ...

  7. 【BZOJ1010】【HNOI2008】玩具装箱toy (斜率优化DP) 解题报告

    题目: 题目在这里 思路与做法: 这题不难想. 首先我们先推出一个普通的dp方程: \(f_i = min \{ f_j+(i-j-1+sum_i-sum_j-L)^2\}\) 然后就推一推式子了: ...

  8. 【docker】python: can't open file 'helloworld.py': [Errno 13] Permission denied

    运行容器提示权限问题 docker run  -v $PWD/myapp:/usr/src/myapp  -w /usr/src/myapp python:3.5 python helloworld. ...

  9. mysql.connector 事务总结

    mysql.connector事务总结: connection.autocommit = 0 (默认值) 事务处理 使用 connection.commit()方法 #!/usr/bin/env py ...

  10. BZOJ 1507 splay

    写完维修数列 这不是水题嘛233333 //By SiriusRen #include <cstdio> #include <cstring> #include <alg ...