八宝书库 > 文学其他电子书 > 深入浅出MFC第2版(PDF格式) >

第63部分

深入浅出MFC第2版(PDF格式)-第63部分

小说: 深入浅出MFC第2版(PDF格式) 字数: 每页4000字

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!






   我说过的,这些工具的目的在使你专注于最主要的工作上,至于各文件间的关联工作, 



   枝枝节节的琐碎事情,都由工具来完成。这,才叫作「整合性」工具环境嘛! 



Icon 编辑器 



   Icon、Cursor、Bitmap 和Toolbar 编辑器使用同一个心脏:它们架构在同一个图形编辑器 



   上,操作大同小异。过去这个心脏曾经遗漏两项重要功能,一是256 色图形支持,一是 



    「敲入文字就出现对应之Bitmap 」工具(这种工具允许使用者将文字直接键入一张 



   bitmap  中,而不是一次一个图素慢慢地描)。自从Visual C++ 4。0 之后这两项重要功能 



   就已经完全补齐了。 



   请注意工具箱(图最右侧)在不同的编辑器中稍有变化。 



                                                            295 


…………………………………………………………Page 358……………………………………………………………

               第篇    欲善工事先利其器 



               选按图左ResourceView 中的一个Icon,于是右侧出现Icon 编辑器。 



           Cursor 编辑器 



               选按图左ResourceView 中的一个Cursor,于是右侧出现Cursor 编辑器。 



296 


…………………………………………………………Page 359……………………………………………………………

                                     第4章    Visual C++  整合性軟體開發環境 



   Bitmap 编辑器 



      选按图左ResourceView 中的一张Bitmap,于是右侧出现Bitmap 编辑器。注意,本图的J。J。Hou 



      字样并非一点一点描绘而成,而是利用绘图工具箱(图最右)中的字形产生器(标有A 字形的那 



      个图标)。它不但能够产生各种字形变化(视你安装的字形种类而定),在中文环境下更能够输入 



      中文字!不过我还没有找到能够调整字形大小的功能。 



工具栏 (Toolbar)编辑器 



      Visual C++ 早期版本没有这个编辑器,因为,工具栏原本不算是RC 档中的一份资源。 



      而且,说穿了工具栏其实只是靠一张由固定大小之格状单元组成的一单张bitmap 构 



      成,编辑工具栏其实就是编辑该张bitmap 。但是那样一来,我们就得自己改写程序代码中 



      有关于工具栏的设定部份,编辑程序显得不够一气呵成! 



      自从Visual C++ 4。0 开始,这中一切琐事就都由工具代劳了。我将在第7章详细解释「工 



      具列」资源如何在程序中发生效用。 



                                                                 297 


…………………………………………………………Page 360……………………………………………………………

               第篇    欲善工事先利其器 



               选按图左ResourceView 中的一份Toolbar,于是右侧出现Toolbar 编辑器。 



                把上图局部放大来看: 



298 


…………………………………………………………Page 361……………………………………………………………

                                                     第4章    Visual C++  整合性軟體開發環境 



VERSIONINFO 资源编辑器 



        VERSIONINFO 可帮助程序判断存在于使用者系统中的文件版本号码,如此一来就不会 



        发生「以旧版本程序改写新格式之文件」的遗憾了。VERSIONINFO 资源也放在RC 档, 



        包含的资料可以识别版本、语言、操作系统、或含有资源之DLL 。AppWizard 会为你产 



        生一份VERSIONINFO 资源, 但不强制你用它。下面是Scribble。rc 档中有关于 



        VERSIONINFO  的内容: 



        #0001  VS_VERSION_INFO     VERSIONINFO 

        #0002    FILEVERSION       1;0;0;1 

        #0003    PRODUCTVERSION    1;0;0;1 

        #0004   FILEFLAGSMASK 0x3fL 

        #0005  #ifdef _DEBUG 

        #0006   FILEFLAGS 0x1L 

        #0007  #else 

        #0008   FILEFLAGS 0x0L 

        #0009  #endif 

        #0010   FILEOS 0x4L 

        #0011   FILETYPE 0x1L 

        #0012   FILESUBTYPE 0x0L 

        #0013  BEGIN 

        #0014          BLOCK 〃StringFileInfo〃 

        #0015          BEGIN 

        #0016          BLOCK 〃040904B0〃 

        #0017              BEGIN 

        #0018                  VALUE 〃panyName〃;     〃0〃 

        #0019                  VALUE 〃FileDescription〃; 〃SCRIBBLE MFC Application0〃 

        #0020                  VALUE 〃FileVersion〃;     〃1; 0; 0; 10〃 

        #0021                  VALUE 〃InternalName〃;    〃SCRIBBLE0〃 

        #0022                  VALUE 〃LegalCopyright〃;  〃Copyright 251 19960〃 

        #0023                  VALUE 〃LegalTrademarks〃; 〃0〃 

        #0024                  VALUE 〃OriginalFilename〃;〃SCRIBBLE。EXE0〃 

        #0025                  VALUE 〃ProductName〃;     〃SCRIBBLE Application0〃 

        #0026                  VALUE 〃ProductVersion〃;  〃1; 0; 0; 10〃 

        #0027              END 

        #0028          END 

        #0029          BLOCK 〃VarFileInfo〃 

        #0030          BEGIN 

        #0031              VALUE 〃Translation〃; 0x409; 1200 

        #0032      END 

        #0033  END 



                                                                                              299 


…………………………………………………………Page 362……………………………………………………………

                 第篇    欲善工事先利其器 



                 选按图左ResourceView 中的一份VersionInfo,于是右侧出现VersionInfo 编辑器。你可以直 



                 接在每一个项目上修改字符串内容。 



                         String Table 

           字串表格 (                        )编辑器 



                 字符串表格编辑器非常好用,允许你编辑RC 文件中的字符串资源(STRINGTABLE ),这可 



                 增进国际化的脚步。怎么说?我们可以把程序中出现的所有字符串都集中在RC 文件的字符串 



                表格,日后做中文版、日文版、法文版时只要改变RC 文件的字符串表格即可。噢当然,你 



                还得选一套适当的mon Dialog DLL 。 



                AppWizard 为我们制作骨干程序时不是加了一大套Menu  吗,对应于这些Menu ,有数 



                 以打计的字符串资源,准备给状态列使用。下面是RC 文件字符串表格的一小部份: 



                 STRINGTABLE DISCARDABLE 

                 BEGIN 

                     ID_INDICATOR_EXT   〃EXT〃 

                     ID_INDICATOR_CAPS  〃CAP〃 

                     ID_INDICATOR_NUM   〃NUM〃 

                     ID_INDICATOR_SCRL  〃SCRL〃 

                     ID_INDICATOR_OVR   〃OVR〃 

                     ID_INDICATOR_REC   〃REC〃 

                 END 



300 


…………………………………………………………Page 363……………………………………………………………

                                                 第4章    Visual C++  整合性軟體開發環境 



         STRINGTABLE DISCARDABLE 

         BEGIN 

             ID_FILE_NEW       〃Create a new documentnNew〃 

             ID_FILE_OPEN      〃Open an existing documentnOpen〃 

             ID_FILE_CLOSE     〃Close the active documentnClose〃 

             ID_FILE_SAVE      〃Save the active documentnSave〃 

             ID_FILE_SAVE_AS   〃Save the active document with a new namenSave As〃 

         。。。 



         选按图左ResourceView 中的一个String Table,于是右侧出现String Table 编辑器。你可以直 



         接在每一个字符串上修改内容。 



菜单 (Menu)编辑器 



        菜单编辑器很好用。你可以一边看到正在建立的菜单,一边直接在适当位置键入菜单项 



        目名称, 窗体编辑器会把菜单项目的ID 值(当然是它自动为你产生的) 放到 



        RESOURCE。H  的#define 叙述中,就像字符串表格编辑器所做的那样。重新安排菜单项目 



        的位置也很容易,因为所有动作都可以鼠标拖拉方式完成。 



                                                                                       301 


…………………………………………………………Page 364……………………………………………………………

                   第篇    欲善工事先利其器 



                      选按图左ResourceView 中的一套Menu,于是右侧出现Menu 编辑器。 



                      假设我在菜单上添加一份popup 菜单,内有“JJHou”                  和“MJChen”  两个项目。不但RC 



                      档的MENU 资源有了变化: 



                       IDR_MYTYPE MENU PRELOAD DISCARDABLE 

                       BEGIN 

                           。。。 

                       POPUP 〃MyFamily〃 

                           BEGIN 

                               MENUITEM 〃JJHou〃;   ID_MYFAMILY_JJHOU 

                               MENUITEM 〃MJChen〃;  ID_MYFAMILY_MJCHEN 

                           END 

                       END 



                      STRINGTABLE 也多了两个字符串定义,作为状态列消息: 



                       STRINGTABLE DISCARDABLE 

                       BEGIN 

                           ID_MYFAMILY_JJHOU   〃J。J。Hou is a Good man〃 

                           ID_MYFAMILY_MJCHEN  〃M。J。Chen is a Good woman〃 

                       END 



                       此外,RESOURCE。H 也多了两个常数定义: 



                       #define ID_MYFAMILY_JJHOU     32771 

                       #define ID_MYFAMILY_MJCHEN    32772 



302 


…………………………………………………………Page 365……………………………………………………………

                                     第4章    Visual C++  整合性軟體開發環境 



    此外也造成。CLW 档的变化,好让ClassWizard 知悉。ClassWizard 将在稍后介绍。 



加速键 (Accelerator)编辑器 



    AppWizard  已经为骨干程序中的许多标准菜单项目设计了加速键。通常加速键是两个按 



    键的组合(例如Alt + N ),用以取代鼠标在层层菜单中的拉下、选按动作。所有的加速 



    键设定都集中在RC 文件的加速键表格中,双击其中任何一个,就会出现加速键编辑器为 



    你服务。你可以利用它改变加速键的按键组合。 



    选按图左ResourceView 中的一个Accelerator,于是右侧出现Accelerator 编辑器。你可以直 



    接在每一个项目上修改内容。 



                                                                  303 


…………………………………………………………Page 366……………………………………………………………

              第篇    欲善工事先利其器 



         对话框 (Dialog)编辑器 



              任何一个由AppWizard 产生出来的骨干程序,都有一个很简单朴素的〃About〃 对话框: 



              选按图左ResourceView 中的IDD_ABOUTBOX,右侧出现Dialog 编辑器并将About 对话框加载。 



              图右方有一个工具箱,内有许多控制组件(control ): 



              你可以在编辑器中任意改变对话框及控制组件的大小和位置,也可以任意拖拉工具箱内 



              的组件放入对话框中。这些动作最后组成RC 文件中的对话框模板(Dialog template),也 



              就是对话框外貌的文字描述,像这样: 



304 


…………………………………………………………Page 367……………………………………………………………

                                                 第4章    Visual C++  整合性軟體開發環境 



        IDD_ABOUTBOX DIALOG DISCARDABLE  0; 0; 217; 55 

        CAPTION 〃Abou

返回目录 上一页 下一页 回到顶部 0 0

你可能喜欢的