摘要
产品线应通过精心选定的视觉特征(如启动图标、启动闪屏)实现与其他产品线的清晰区分、易于识别。本文将介绍如何为自家产品线实现视觉标识组件的开发配置。
本示例用例学习目标
CAAAfrProductLine 示例用例
- CAAAfrProductLine 功能说明
- CAAAfrProductLine 启动方式
- CAAAfrProductLine 源码存放路径
操作步骤详解
内容小结
参考文献
本用例学习要点
本用例旨在演示如何创建用于启动应用程序的加载模块,以及如何为名为 CAAProductLine 的虚拟产品线创建视觉标识资源 [1]。
CAAAfrProductLine 示例用例
CAAAfrProductLine 是 CAAApplicationFrame.edu 框架下的一个示例用例,用于演示 ApplicationFrame(应用程序框架) 的功能特性。
CAAAfrProductLine 功能作用
CAAAfrProductLine 示例用例将创建用于启动产品线应用 CAAProductLine 的加载模块,并包含可自定义该产品线视觉标识的全部资源文件。
CAAAfrProductLine 启动方法
若要启动 CAAAfrProductLine,需先搭建编译环境,随后编译 CAAAfrProductLine 及其依赖组件,再配置运行环境,最后执行该示例用例 [2]。
请勿在命令行中输入模块名称,应输入产品名称。CAAAfrProductLine 代码获取路径
CAAAfrProductLine 示例用例仅包含一个源代码文件:CAAAfrProductLine.cpp,
位于 CAAApplicationFrame.edu 框架的 CAAAfrProductLine.m 模块中:Windows 系统: 安装根目录 \CAAApplicationFrame.edu\CAAAfrProductLine.m\
Unix 系统:安装根目录 / CAAApplicationFrame.edu/CAAAfrProductLine.m/
其中安装根目录为 CAA 光盘的安装目录。
在 Windows 系统下,若要通过桌面快捷方式启动应用程序,还需要额外依赖其他文件,这些文件同样存放于 CAAAfrProductLine.m 目录下。
详细步骤
视觉标识组件的创建分为以下步骤:
- 创建用于启动应用程序的主程序
- 提供图形资源文件
- 创建资源定义文件
创建启动应用程序的主程序
创建该主程序时,首先需要新建模块目录,例如 CAAAfrProductLine.m。
该模块目录需包含以下内容:- 一份如下所示的 Imakefile.mk 文件:
# # LOAD MODULE FOR CAAAfrProductLine # BUILT_OBJECT_TYPE=LOAD MODULE # LINK_WITH=CATApplicationFrame JS0FM JS0GROUP
- 在 src 目录中:包含一个 C++ 源文件,该文件仅以产品线名称作为入参来实例化 CNext 类,示例文件:CAAAfrProductLine.cpp。
#include "CNext.h"CNext Product ("CAAProductLine"); - 一个名为 icon1.ico 的图标文件,内含产品线图标,用于在 Windows NT 桌面上将该应用程序显示为桌面快捷方式。
该图标可通过 Microsoft Developer Studio 工具创建,在【插入】菜单中选择【资源】选项,调出插入资源对话框,即可完成图标制作。
![图片]()
你可以选择导入现有的位图文件。点击导入并选中该文件。你也可以自行绘制图标。点击新建,随即会显示图形工具栏和颜色工具栏。
![图片]()
创建好图标后,通过另存为将图标保存到当前模块的 src 目录中。同时 Microsoft Developer Studio 会自动生成两个文件:
Script1.rc 资源文件。只需添加加粗所示的一行代码,即可规避 Windows 系统漏洞。//Microsoft Developer Studio 生成的资源脚本 // #include "resource.h"#define APSTUDIO_READONLY_SYMBOLS ///////////////////////////////////////////////////////////////////////////// // // 由 TEXTINCLUDE 2 资源生成 // #include "afxres.h"///////////////////////////////////////////////////////////////////////////// #undef APSTUDIO_READONLY_SYMBOLS///////////////////////////////////////////////////////////////////////////// // 美式英语 资源#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) #ifdef _WIN32 LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US #pragma code_page(1252) #endif //_WIN32///////////////////////////////////////////////////////////////////////////// // // 图标资源 //// 将 ID 值最小的图标放在首位,确保应用程序图标 // 在所有系统上显示效果保持一致。 IDI_ICON1 ICON DISCARDABLE "icon1.ico"// 添加此行可让图标正常显示在桌面,并规避 Windows 系统缺陷 IDI_ICON2 ICON DISCARDABLE "icon1.ico"#ifdef APSTUDIO_INVOKED ///////////////////////////////////////////////////////////////////////////// // // 文本包含段 //1 TEXTINCLUDE DISCARDABLE BEGIN"resource.h\0" END2 TEXTINCLUDE DISCARDABLE BEGIN"#include ""afxres.h""\r\n""\0" END3 TEXTINCLUDE DISCARDABLE BEGIN"\r\n""\0" END#endif // APSTUDIO_INVOKED#endif // 美式英语 资源 /////////////////////////////////////////////////////////////////////////////#ifndef APSTUDIO_INVOKED ///////////////////////////////////////////////////////////////////////////// // // 由 TEXTINCLUDE 3 资源生成 /////////////////////////////////////////////////////////////////////////////// #endif // 非 APSTUDIO 调用模式resource.h 头文件
//{{无依赖项}} // 由 Microsoft Developer Studio 自动生成的包含头文件 // 供 Script1.rc 资源脚本调用 // #define IDI_ICON1 101// 为新资源对象预留后续默认编号 // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 102 // 下一个资源ID起始值 #define _APS_NEXT_COMMAND_VALUE 40001 // 下一个命令ID起始值 #define _APS_NEXT_CONTROL_VALUE 1000 // 下一个控件ID起始值 #define _APS_NEXT_SYMED_VALUE 101 // 下一个符号ID起始值 #endif #endif
将 resource.h 文件移动到 LocalInterfaces 目录,然后执行 mkmk -u 命令编译生成模块文件。
提供图形资源
所需的图形资源需复制到所用框架的以下路径:
CNext\resources\graphic 目录或其子目录中。
需准备的图形资源包括:
- 用于窗口标题栏的产品线图标:CAAProduct.bmp。该图标在 Windows 和 UNIX 系统下需满足以下规格要求:
- 宽度:16 像素;高度:17 像素;分辨率:每英寸 96 像素;16 色索引位图。
- 产品线标识 logo。需将其复制到以下目录:
CNext\resources\graphic\iconsP1 和 P2 外观样式可使用不同的 logo 文件,其规格要求如下:
- Windows 系统:宽度 130 像素;高度 29 像素;分辨率 72 像素 / 英寸;24 位真彩色图像
Windows 系统 P1 外观样式:CAALogoP1NT.bmp
![图片]()
适配 P2 外观样式 的 Windows 系统:CAALogoP2NT.bmp
![图片]()
- UNIX 系统:宽度 130 像素,高度 29 像素,分辨率 72 像素 / 英寸,256 色索引图像。
适配 P1 外观样式 的 UNIX 系统:CAALogoP1IX.bmp
![图片]()
适配 P2 外观样式 的 UNIX 系统:CAALogoP2IX.bmp
![图片]()
- Windows 系统:宽度 130 像素;高度 29 像素;分辨率 72 像素 / 英寸;24 位真彩色图像
- 产品线启动封面:包含一张位图和一个动画文件:CAASplash.bmp 与 CAASplash.avi。需将这两个文件复制到目录:CNext\resources\graphic\splashscreens。
![图片]()
- 产品线背景图片。需将该文件复制到 CNext\resources\graphic\icons 目录下。其规格参数要求如下:
- Windows 系统(CAABackgroundNT.bmp):宽度:640 像素;高度:512 像素;分辨率:254 像素 / 英寸;24 位真彩色图像。实际显示尺寸为 320×256 像素。
![图片]()
- UNIX 系统(CAABackgroundIX.bmp):宽度:1280 像素;高度:1024 像素;分辨率:254 像素 / 英寸;24 位真彩色图像。实际显示尺寸为 320×256 像素。
![图片]()
- Windows 系统(CAABackgroundNT.bmp):宽度:640 像素;高度:512 像素;分辨率:254 像素 / 英寸;24 位真彩色图像。实际显示尺寸为 320×256 像素。
- 产品线对话框背景图片,仅适用于 Windows NT 系统。需将该文件复制到
CNext\resources\graphic\icons目录下。其规格参数要求如下:- P1 样式(CAADecorationP1.bmp):宽度:500 像素;高度:36 像素;分辨率:72 像素 / 英寸;256 色索引色图像。
![图片]()
- P2 样式(CAADecorationP2.bmp):宽度:55 像素;高度:1000 像素;分辨率:72 像素 / 英寸;24 位真彩色图像。程序仅截取该图片下半部分进行显示。
![图片]()
- P1 样式(CAADecorationP1.bmp):宽度:500 像素;高度:36 像素;分辨率:72 像素 / 英寸;256 色索引色图像。
创建资源文件
资源文件必须使用你为产品线指定的名称,本例中为 CAAProductLine。该文件说明如下:
- CAAProductLine.CATRsc 用于引用已提供的各类图形资源。
// .CATRsc of a product line // -------------------------------------- ApplicationFrame.Icon.Name = "CAAProduct"; SplashScreen.Name = "CAASplash";// P1 Look ApplicationLogo.P1.NT = "CAALogoP1NT"; ApplicationLogo.P1.Unix = "CAALogoP1IX"; DialogBoxBottom.P1 = "CAADecorationP1"; // Available NT Only// P2 Look ApplicationLogo.P2.NT = "CAALogoP2NT"; ApplicationLogo.P2.Unix = "CAALogoP2IX"; DialogBoxBottom.P2 = "CAADecorationP2"; // Available NT Only BackgroundImage.NT = "CAABackgroundNT"; BackgroundImage.Unix = "CAABackgroundIX";
现在你可以通过桌面快捷方式启动应用程序,查看其各类视觉标识组件效果。
小结
若要为产品线设置专属视觉标识,仅在 Windows 系统下,你可以生成用于启动应用程序的可执行文件(EXE),并自定义关联专属图标,该图标同时可作为桌面快捷方式图标。
你可在 UNIX 和 Windows 系统中,创建适配应用程序的文字与图形资源并进行展示。
References
| [1] | What Is the Product Line Visual Identity |
| [2] | Building and Launching a CAA V5 Use Case |
| [3] | Contextual Help |











