·汉化新世纪 ·汉化新世纪论坛 ·百家争鸣 ·论坛集萃 ·汉化问答 ·软件介绍
文章首页 >> 汉化教学 >> 特殊汉化 >> Clustalx字体的修改笔记    Creative Commons License,创作共用协议(中文版)  署名 非商业性使用 禁止演绎

Clustalx字体的修改笔记

作者: 雅枫 来源:汉化教学 时间:2005-02-23 点击:7411

       Raindy老兄在汉化Clustalx,说字体搞不定,我看了一下其界面,有些像是GetStockObject的字体,我反汇编调试一下,发现有一处CreateFontIndirectA的调用,还有几处GetStockObject的调用。我把这些字体统统修正,却发现界面变化不大,只有少数几个label字体有些变化,其他一点也没有变。我们知道这些子窗口控件是没有字体属性的,一般是从父窗口继承,一般的编程生成对话框是使用对话框模版,只要在模版里指定字体,所有的子窗口控件都会改变字体。所以我期望在程序中用了对话框模版,也就是用CreateDialog()或者DialogBoxParam等函数生成的窗体,答案令人沮丧,无论是主窗口,还是对话框,包括所有的控件,居然全都用的CreateWindowEx来生成,所以几乎所有的控件都是系统默认的system 10……
       根据windows程序设计知识,一般这种控件可以通过像子窗口控件发送WM_SETFONT消息来更改控件的字体,这似乎是一个可行的办法,可问题来了:这个程序有大量的控件,如果用Pediy的方法进行修改的话,工作量大的惊人,而且十分容易出错,所以这种方法式不用考虑了,所以我在找一种修改主窗口默认字体,如果找到这将是一个非常简单易行的方法。不过除了修改系统默认字体,我没有找到能达到这个目的的方法。去一些编程论坛问,也没有结果。(小插曲:我问过一个网友,在我眼里此人并不算什么高手,我只是抱着一丝希望能获得什么线索。他牛气十足的告诉我设置属性(我明确告诉他没有对话框模版的),我再次提醒他没有对话框模版,他告诉我改风格,我反问他什么风格,他说让我自己去查msdn,他在写VC程序(前一阵子此人还在抱着vb不放),当时没把我气晕,这个贴子可是在牛棚挂了几天没人回的,看来水平不怎么高的人就是喜欢自以为是。说来怄火不提也罢)所以这个软件就在这里拖着解决不了,想到半仙是个牛人,于是到群上问他,他说可以改注册表的默认字体,或者用hook,前者我知道,后者虽然我也想过,可是代码实在不好写,工作量也十分几巨大。他提示我用他的FlatUI,我记得他这个是从ClassXP修改的。事情到这里也就有了转机。技术都是现成的。我把以前down的ClassXp挂接在了程序上发现虽然风格成了XP的风格,但字体还是没变,我就用VC新建了一个dll工程,对ClassXP的源码重新编译,并加上了设置字体的代码,其中最难搞的是Combo Box,这个虽然我向其发了WM_SETFONT,但似乎只是把list的字体改了,界面上的字体仍然是顽固得显示默认字体。不得已,我对Combo Box的框内部分进行了重画,才解决了字体显示的问题。

汉化新世纪 责任编辑: 乾 .:|:. 标签(Tag): Clustalx 字体

·上一篇: 谈 Passolo 中 PSL_LANGTABLE 资源的汉化, 兼谈乱码与语言编码 ·下一篇: 修改字体FAQ:

· 版权申明: 本文引自《汉化教学》,如有版权疑问请及时联系本站,以便本站处理。

· 转载申明: 本文引自《汉化教学》[ 作者: 雅枫],如需转载请直接联系原始作者,并请注明原始出处。

相关文章                                                                                发表评论 打印此文 关闭窗口

| 设为首页 | 加入收藏 | 联系我们 | 友情链接
Creative Commons License,创作共用协议(中文版)  署名 非商业性使用 禁止演绎
本站内容,除转载或版权特别申明的内容外,皆遵守 创造共用协议中文版之“署名-非商业性使用-禁止演绎 2.5 中国大陆”条款
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 China License.
本网站内容源自汉化新世纪论坛的摘录和汉化新世纪成员的原创文章。
凡汉化新世纪论坛的文字皆默认为汉化新世纪与原作者共同拥有并授权发布。
如对本站发布文章有所异议请来信告知,我们将及时删除。
凡商业摘录本站文字请先与我们联系,本站将保留非授权商业发布的追究权利。
凡非商业摘录本站文字请明显注明出处和原作者,并不得改动,凡改动必先征求原作者同意。
苏ICP备05002283号