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

遇到问题还能解决。

问题由来:

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

也在一番无谓的尝试之后,打开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. jquery的this和$(this)

    1.JQuery this和$(this)的区别 相信很多刚接触JQuery的人,很多都会对$(this)和this的区别模糊不清,那么这两者有什么区别呢? 首先来看看JQuery中的  $()  这 ...

  2. 46.Qt 使用OpenGL绘制立方体

    main.cpp #include <QApplication> #include <iostream> #include "vowelcube.h" in ...

  3. wolf

    package com.wh.Demo50; /** * @author 王恒 * @datetime 2017年4月7日 下午4:40:54 * @description * 分析:子类重写父类的方 ...

  4. 测试数据准备中用到到csv写文件知识点

    对于大数据测试中,有时需要自己去准备一些数据,用csvreader来写一个比较大的文件就比较方便,下面我就直接贴示例代码了: package com.acxm.amysu.test;import co ...

  5. Aspose.Words进行Word替换(插入图片和水印)

    由于最近一直在忙着做着Word打印模板的一些工作,就整理一些Asponse.Words对Word文档进行操作的资料. using System; using System.Collections.Ge ...

  6. WPF 标题栏 右键窗口标题添加关于对话框

    /// <summary> /// wpf标题栏 右键菜单 中添加新项 /// </summary> public partial class MainWindow : Win ...

  7. Android--XML页面的编写

           五个页面  代码如下:    图片资源链接: https://pan.baidu.com/s/1jIoTDGE //  第一个 <RelativeLayout xmlns:andr ...

  8. Javascript关于JSON集合的几种循环方法

    /** * 根据json数据生成option树形控件 * 如果有children节点则自动生成树形数据 * @param {JSON} data * @param {int} n 节点深度 * @pa ...

  9. VS命令行的使用

    CD 命令是改变当前路径,但是它不会改变当前盘符,改变盘符要输入 [盘符]: 命令. 如下: Setting environment for using Microsoft Visual Studio ...

  10. 杭电2060WA

    #include<stdio.h> int main() { int n,num,p,q,i,a[]={2,3,4,5,6,7}; scanf("%d",&n) ...