我觉得VC 的File 菜单里的最近打开的文件“保存得太少了”, 请问在哪里设置保存的文件数?

lettermail3 2003-08-20 10:10:01
我觉得VC 的File 菜单里的最近打开的文件“保存得太少了”, 请问在哪里设置保存的文件数?
...全文
65 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lifeforu 2003-08-21
  • 打赏
  • 举报
回复
我想楼主的意思是IDE的菜单吧
allen1981813 2003-08-21
  • 打赏
  • 举报
回复
向导里好象也有其他的地方也有
bcpl 2003-08-21
  • 打赏
  • 举报
回复
那应该是在菜单Tools->Options里,Workspace页有得设
bcpl 2003-08-20
  • 打赏
  • 举报
回复
CYourApp::InitInstance()里
把LoadStdProfileSettings();改为
LoadStdProfileSettings(x);
x为你希望的文件数
Microsoft Help Workshop——HLP文件轻松做 2002-04-14 11:56作者:陈劲宏出处:Yesky责任编辑:   由于HLP格式已经逐 渐被CHM格式所替代,所以制作HLP格式帮助文档的工具相对来说要少一些。一般有Windows Help Designer/WinHelp Edition、 helppad、Windows帮助大师helper、RTF2HLP和我们这所介绍的Microsoft Help Workshop两种。因为有些工具软件使用时最终还是要Microsoft Help Workshop的支持,我们这以Microsoft Help Workshop为例介绍一下它的使用方法。 Microsoft Help Workshop(以下简称为HW)是一款专业的制作HLP文件的软件。HW与HTML Help Workshop均是微软开发的制作帮助文件的软件。软件继续保持了简洁、制作方便简单的特点。我们可以到微软的网站去下载,但如果你要下载汉化版的话, 请到http://www.guxiang.com/epubcn/soft-down/hlp/p-helpworkshop403.exe去下载好 了。毕竟汉化版对于英文不太好的朋友来说,还是方便一些。需要说明的是,由于HLP格式出现较早,目前大部分的基于Web的技术都不可以使用。但是由于 HLP文件的界面整洁、对文件的压缩比率较高等特点,目前还广泛应用在很多领域当中。操作步骤为:   1.运行HW以后,单击菜单文件”|“新建”选项,选择默认的“帮助项目”选项,单击OK(好了)按钮。将工程文件保存在某一目录下并给予文件名。此时弹出主编辑窗口,如图1。   2.单击右边的“选项”按钮,在弹出的对话框中我们可以设置文件的属性。包括文件标题、压缩率、排序、各种文件信息、搜索支持、宏定义、字体信息等等。 3.单击“文件”按钮,加入需要编译的RTF文件,注意软件只支持导入RTF文件,如图3-2。   4.单击“窗口”按钮,在弹出对话框中设置窗口名称和窗口属性。如图3-3。   以下的按钮分别是“位图(Bitmaps…)”、“映射(Maps…)”、“别名(Alias…)”、“设置(Config…)”、“文件(Data Files…)”,如果读者愿意可以一一设置,这就不详述了。 5.设置文件信息以后,单击工具栏上的“编译”(Compile)按钮(在?按钮的左边即是),或者单击主编辑窗口右下角的“存盘并编译”(Save and Compile)按钮,此时软件会自动编译输出HLP文件并报告编译信息。 由于HLP文件所支持的格式只能是RTF,所以用户在使用HW之前必须先用WORD制作好RTF文件。 二、制作前的准备   1、下载并安装 HTML Help WorkShop   你可以在微软的站点上下载 HHW 软件,也可以直接 按此下载。   下载 HHW 软件后直接运行 htmlhelp.exe,一路“next”就可以安装成功。HHW 内还含一个图形编辑处理程序(HTML Help Image Editor),图形文件的处理也可以由它简单处理。   2、几个概念   相对来讲制作 chm 文件比较简单,大量的工作实际上是在前期制作 html 文件上,你在 chm 文件中所看到和听到的,与你在浏览器中的结果是一样的。你可以专门为制作 chm 文件而编制 HTML,也可以直接利用现成的小型个人主页快速做成 chm 文件以便向外发放,所不同的是,在个人网站上每个 HTML 文件之间必须由超级链接相连,而用来制作 chm 文件的 HTML 文件,允许有独立的 HTML 文件,用户可以通过导航嵌窗来实现对其访问。   现在让我们先了解一下几个用到的概念:   (1)项目文件[Project -- .hhp文件]:包含创建 chm 文件所需的 HTML 文件信息、目录表文件信息、索引文件信息、窗口属性、搜索、书签定义等内容。一个chm文件对应有一个项目文件。[设置方法]   (2)目录表文件[Contents -- .hhc文件]:包含目录表中每个标题与 HTML 文件的关联关系。目录表就好像是一本书的目录。该文件不是必需的,如果创建的 chm 文件没有导航嵌窗,就可以不创建 .hhc 文件,这样一来 HTML 中的跳转就要借助其内部的超级链接了。[创建方法]   (3)索引文件[Index -- .hhk文件]:一些专业书籍在其后面一般有个索引表,利用已经排序的字母、单词、词组来帮助读者快速定位到需要的一个或几个位置。在 chm 中也可以使用索引。索引文件中就包含每个关键词(keyword)与 HTML 文件的对应关系。与目录文件中的标题不同的是,一个关键词可以对应多个 HTML 文件。索引文件也不是必需的,如果你的 chm 文件的信息不是太复杂,不创建也行。[创建方法]   (4)搜索:要在 chm 文件中能使用全文搜索功能,只要在创建 chm 文件打开一个开关就行了,这样只要在搜索框中输入要搜索的内容,chm 就会把全部包含该内容的 HTML 文件列出来,并把搜索内容高亮显示。但是如果使用搜索功能,chm 文件会稍大一点。[设置方法]   (5)书签:在我们阅读图书时,有时会在一些地方放个书签,以便下次能快速找到作标记的地方,在 chm 中同样允许你在感兴趣的地方作标记。[设置方法]   (6)窗口属性:是指 chm 文件的介面窗口。你可以自由定义窗口位置、大小、按钮、导航嵌窗、显示模式等。[设置方法]   目录、索引、搜索和书签是 chm 文件左边导航嵌窗中的四个导航选项,任何一个都可以随意打开或关闭,当四个功能全部关闭时,导航嵌窗将自动消失。   因为 HHW 对chm 的控制非常灵活,所以你可以制作出功能强大的 chm 文件,也可以制作出非常简单的 chm 文件。另外在制作中我们需要指明的是 HTML 文件,而图形、视频、声音等文件不需要指明位置, HHW 会根据 HTML 文件中的链接找到它们。 三、制作简单的 chm 文件   我们把没有导航功能的 chm 文件称作“简单的 chm 文件”,它没有导航嵌窗,网页之间的跳转全部依靠 HTML 文件中的超级链接。   下面介绍制作简单的 chm 文件(无导航功能)的步骤,这些步骤的叙述将在“制作较复杂 chm 文件”中省略或简化,所以不可不读。   1、制作没有功能按钮的 chm 文件   首先你最好把所有要用到的 html 文件及有关图形、声音、视频等文件复制到一个空文件夹中(当然可以包含子文件夹),并在 IE 浏览器中检验通过,然后启动 HHW,在 File菜单中选[New],弹出新建文件对话框。   HHW 可以新建:项目[Project]、文本文件[Text]、HTML文件、目录表文件[Table of Contents]和索引文件[Index]。我们选“项目”,弹出新建项目向导,提示你可以把以前的 WinHelp 项目文件转换为 HHW 项目文件。我们直接按“下一步”。   在这指定你欲创建的项目的位置和文件名,我们按[Browse],选择我们的 HTML 文件所在目录,并定义一个项目文件名如 test1(程序自动添加 .hhp 后缀),按“下一步”。在出现的对话框中指定已经存在的文件。因为我们目前只有 HTML 文件而没有目录文件(.hhc)和索引文件(.hhk),所以只在[HTML files]前面打上小勾。按“下一步”,进入添加 HTML 文件的窗口,按[Add]按钮,把有关的标题 HTML 文件全部选中加入(可以一次全部选中加入)。按“完成”后,程序就会进入项目编辑界面——也就是 HHW 的主界面,参考图(2)。   首先我们给将来的 chm 文件的窗口标题条指定与 chm 内容相符的文字(如果不指定,则软件默认为“帮助”):按[Project]项目选项中左边第三个按钮“新建/编辑窗口显示风格”,在弹出的窗口类型中随便输入一个名字如“12”,按“OK”后就会进入“窗口属性”定义对话框。在[General]选项卡中的[Title bar text]中输入标题条文字“test1--最简单的 chm 文件”如图(3)。   因为我们不需要导航嵌窗及功能按钮部分,所以再确认一下在导航嵌窗[Navigation Pane]中不要选中[Window with navigation pane, topic pane, and button bar],如图(4)。按确定退回 HHW 主界面。   现在按[Compiled HTML file]编译按钮或者通过在[File菜单中选择[Compile]进行编译,chm 文件就会在指定位置创建完成。这时你可以运行一下新创建的 chm 文件,不难发现,chm 已经包含了所有用到的 HTML 文件、图形文件等,相当于是把全部网页文件打包到 chm 文件中了。如图(5)就是最简单的chm文件显示效果。很简单吧?   3、制作包含功能按钮的 chm 文件   与上面操作相同,不同的是在进行到“窗口属性”定义操作时,在[General]中指定 chm 文件标题栏中的文字“test2---带功能按钮的 chm 文件”,在[Button]中指定欲在 chm 文件的按钮区中显示的按钮如图(6)。   在[Navigation Pane]导航嵌窗设置选中显示导航嵌窗(与上面不一样),如图(7)。   其他选项卡中我们使用默认值(后面在介绍)。设置好后,按编译按钮,生成的 chm 文件如图(8)所示。因为我们没有生成目录表文件和索引文件,所以在 chm 中导航窗口不会显示出来。   上面制作的 chm 文件比较简单,但有时也很实用。其页面跳转必须借助 HTML 内部的超级链接和功能按钮,对于比较简单的几个 HTML 文件也已经足够了。如果 HTML 比较复杂,也可以使用分帧处理,同样会作出很不错的 chm 文件,就像我们进入一些有分帧页面的网站时的操作方式一样。如图(9)。Top 4 楼rivershan(阿门)回复于 2002-07-31 21:36:25 得分 0 四、制作较复杂的chm文件   在 windows98 中我们常见的 chm 文件具有目录及索引,有的还有搜索和书签,这在使用 chm 文件的过程中会比较方便。下面我们就来制作带目录、索引、搜索、书签的 chm 文件。在这我还将介绍一些常用的选项功能的解释。   此类 chm 文件一般包含有多个 HTML 文件。与前面一样,你需要先把网页文件做好,放到硬盘一个文件夹中,如 test3。进入 HHW 后选新建项目,并指定新建项目文件的位置和文件名(如test3),在已经存在的文件中选中目录中所有用到的HTML文件后,进入 HHW 主界面。   1、目录文件的创建   按[Contents]选项卡,选择[Create a new contents file]创建新的目录文件,并命名它为 contents.hhc。然后进入目录表编辑窗口,如图(10)。   在目录编辑窗口左侧,从上到下排列有11个按钮,前5个分别是:目录表属性设置、插入标题、插入页面、编辑所选标题或页面属性、删除标题或页面,下面4个箭头用来调整所选标题或页面的位置及从属关系,最后两个分别是显示 HTML 文件源码和保存文件。   插入一个标题:按[Insert a heading]按钮,弹出[Table of Contents Entry]对话框,如图(11).   在[Entry title]中输入标题内容,如“简介”。按[Add],在弹出的[Path or URL]对话框中选择Title为“简介”对应的 HTML 文件,如图(12),按返回后一个标题就添加完成了。这你也可以按图(12)下面的[Browse...]指定前面没有选择加入的HTML 文件,或者直接在[File or URL:]中输入。   在标题“简介”下面再添加一个标题如“准备”:按[Insert a heading]按钮,会弹出一个询问是否在所选标题上面插入标题的对话框,我们按“否”,在[Entry title]输入页面标题“准备”,并按[Add]指定对应的 HTML 文件,返回后就又加了一个标题。   在标题“准备”下面插入一个页面(或者是子标题)如“下载”:按[Insert a page]按钮,在[Entry title]输入“下载”,并按[Add]指定对应的 HTML 文件,返回。   同样方法我们可以加入许多标题、子标题、页面,并可以利用那4个箭头按钮来调整标题或页面的位置及从属关系。HHW 最多支持 9 个级别深度。   修改标题及改变标题图标的方法:选中标题,按[Edit selection]按钮,可以对其重新指定所关联的 HTML 文件,在[Advanced]中通过下面的[Image index]改变标题的图标。如图(13)。   设置目录属性:按[Contents properties]按钮以后我们可以改变目录表显示样式等,使用默认设置就行。   所有标题创建完成后,按左下角的[Save File]按钮,一个目录表文件就创建完成了。如图(14)。   2、索引文件的创建   与目录文件的创建非常类似,只是索引文件中需要指定关键词与 HTML 文件的关联关系。请参考目录文件的创建部分,不再赘述。   3、项目文件设置   按[Project]选项卡,进入项目编辑窗口(即默认的HHW介面)。其左边排列有7个按钮,分别是:项目属性设置、增加或删除 HTML 文件、增加或改变窗口属性定义、API信息、显示 HTML 源码、保存文件保存文件并编译。   我们按[Change project options]按钮对项目进行设置:通常需要作的是,在[General]选项卡的[Default file]中指定封面页,也就是打开 chm 文件时默认显示的 HTML 文件。封面页可以是目录表中的某个标题所对应的 HTML 文件,也可以是在目录表中不存在的专门用来作封面的 HTML 文件。如图(15)。   如果想在 chm 文件中具备全文搜索功能,还需要在[Compiler]选项卡中选中[Compile full-text search information],如图(16)。   其他内容一般可以不去理会。   4、窗口显示风格的设置   按第三个按钮[Add/Modify windows defunitions]设置窗口属性:这设置将决定 chm 文件的显示风格。在弹出的对话框中我们给窗口风格随便指定一个名字(如12),按 OK 就进入了[Windows Types]对话框。常用的几个设置项为:   (1)General    [Title bar text]中输入你欲在 chm 文件的标题栏显示的文字,如“轻松制作 chm 文件”。参考图(3)。   (2)Buttons    选择欲在 chm 中出现的按钮。参考图(6)。   (3)Position    [Save user defined windows position after first use]如果选中,则系统会保存 chm 使用者最后一次退出 chm 文件时窗口的位置、大小等,下次再打开 chm 时,系统会恢复这些属性。如果不选中,则每次都以你或默认的窗口大小、位置打开 chm 文件。    Left和Top是指定打开chm时,窗口左上角的位置,Width和Height则指定窗口的宽和高。如图(17)。   (4)Files    如果选择了显示Home、Jump按钮,就在这输入对应的 URL 超链接地址,比如你的个人主页地址。   (5)Navigation Pane    [Windows with navigation pane,topic pane,andbutton]如果不选中,则chm窗口将没有导航嵌窗和按钮。    [Navigation pane width]中指定导航嵌窗的宽度。    [Open with navigation pane closed]如果选中,在打开chm文件时导航嵌窗默认为关闭状态。    [Auto sync]如果选中,chm 中的目录标题与 HTML 文件内容将自动保持同步。    [Automatically show/hide navigation pane]如果选中,在 chm 为活动(当前)窗口时,导航嵌窗显示,当不是活动窗口时,导航嵌窗自动隐藏。    [Default tab]中指定导航嵌窗中默认的显示项。这可以是目录、索引、搜索、书签。    [Search tab]如果选中,在chm中将具备全文搜索功能,而[Advanced]可以让 chm 具有高级搜索的功能(使用and,or,not,near)。    [Favorites tab]如果选中,chm文件就会具有书签功能。如图(18)。   另外两个选项卡可以不用管它,使用HHW的默认设置就行。   5、编译成chm文件   经过上面的设置,我们就可以编译了。按工具栏中的编译按钮,或者直接按项目窗口左下方的[Save all file and Compile]按钮,几秒钟以后 chm 文件就被编译完成。然后用鼠标双击此 chm 文件就可以看到你的作品了,如果发现问题,还可以返回 HHW 进行修改调整。参考图(1)。 HTML Help Workshop   微软的HTML Help Workshop 制作CHM文件的工具。   我们可以使用微软的HTMLHelpWorkshop(以下简称HHW)或者“国华软件工作室”的eTextWizard(电子文档处理器,以下简称EW)。HHW在VB、VC等开发工具的CD中都有,也可以到微软的站点去下载最新版本,华军软件园(http://www.newhua.com)还有汉化的版本。EW是国人开发的软件,使用上要方便一些,下载地址为http://chmbook.363.net,在此我们以HHW为例。参考下载资料http://hi.baidu.com/e000/blog/item/51a143a96c65fafc1f17a24d.html   假设我们制作好的主页放在C:est目录中,其中有一个index.html,通过它可以链接到所有其他的文件。   1.打开HTML Help Workshop,单击“File→New”菜单(或者单击工具栏第一个按钮),出现“New”对话框,选择其中的“Project”后,按“OK”,创建一个工程。   2.这一步的对话框提供了从*.hlp到*.chm文件的转换,在此我们不需要,直接按“下一步”。   3.这一步的对话框要求指定工程的位置。单击“Browse”,进入C:est目录,并在文件名中键入“test”,这时文本框中应出现“C:est est.hlp”,然后按“下一步”。   4.这一步要求选择你已为工程创建的文件类型,在此我们选择第三个“HTML files(.htm)”。   5.现在需要添加我们制作好的HTML文件,按“Add”,选择“C:est index.html”,将它添加到列表框。说明一下,只要被index.html文件直接或间接链接到的文件,都会包含进去,因此不是将所有的文件添加进去。然后单击“完成”即可。   6.单击“File→Compile…”(或工具栏第三个按钮),出现“Create a compiled file”对话框,直接单击“Compile”。   7.测试   在资源管理器中双击生成的C:estest.chm,在页面单击右键,在菜单中选择“属性”,在“属性”对话框中复制其中的“地址”(应该为mk:@MSITStore:C:est est.chm::/index.html)。将上面的地址粘贴到浏览器的地址栏中,如果正确,按回车可以在浏览器中看到正确的页面。
中文名: Hacking Vim 原名: Hacking Vim 别名: A cookbook to get the most out of the latest Vim editor 作者: Kim Schulz资源格式: PDF 版本: 文字版 出版社: Packt Publishing书号: 9781847190932发行时间: 2007年 地区: 美国 语言: 英文 简介: 内容简介: 不知道是谁 说过一句话:说世界上的程序员分为三种,一种是使用VIM的,还有一种使用Emacs的,剩下的都是第三种。由此可见VIM的强大程度,可以说,这是一款非常适合程序员使用的编辑器。VIM的设计哲学是如果你的工作只需要做一次,那没问题,怎么搞都行,如果你的工作是要重复的完成某些工作,则IVIM总可以帮你找到更少的按键方式来实现相同的目标,为此,VIM设计了多种模式,常见的模式包括命令模式,编辑模式,命令模式等,这个也是和其他编辑器一个很不相同的地方,可能有些已经有其他编辑器习惯的人有点不太习惯的地方,但是如果将模式熟悉了就可以发现在不同的模式之间切换是很平常的事情,而且带来的好处是更少的按键和更快的输入。 VIM是VI的优秀后裔,虽然VI的后裔中不仅仅包括VIM,但是VIM是实现对VI的兼容性最好的编辑器,其他的后裔还包括STEVIE, ELvis, NVi, Vile等。除了实现对VI的兼容性外,VIM还扩展了很多的功能,包括语法高亮,代码折迭,脚本扩展等等,Packt Publishing出版社出版的这本书《Hacking VIM》就对VIM使用的一些TIP作了介绍,介绍的内容包括定制篇,移动篇,效率篇,格式篇和脚本篇,希望可以给你在使用VIM的过程中带去一点帮助。 目录: *---注:该版本为英文版,以下仅为中文的提要而已,切勿以为是中文版,特此注明! 提纲 1.引言 2.常用技巧 2.1全局替换 2.2多文件替换 2.3增加多行注释 2.4 ab技巧 2.5分割窗口功能 2.6改变颜色配置 2.7显示和不显示行号 2.8更好的状态行 2.9光标行和光标列 2.10语言拼写检查 2.11键绑定 2.12定位功能 2.13 自动补全 2.14 使用宏 2.15读写文件或命令内容 2.16使用寄存器 2.17折迭 2.18文件比较vimdiff 2.19缩进 2.20使用文件模板 2.21识别中文字体 3. 常用插件 3.1 ctags 3.2 taglist 3.3 A 3.4 NERDtree 3.5 MiniBuffer 3.6 calendar 1.引言 如果你已经使用Vim超过一年半载,对hjkl,i,a,yy,dd,p,u等命令已经滚瓜烂熟,但是还基本没有自己写过.vimrc文件,又觉得需要将使用Vim的程度提到一个新的高度,看《Hacking Vim》这本书最合适不过了。 我给这本书打4分。觉得很不错是因为这本书中提到了许多我原来没有掌握的技巧或命令。没有打5分是因为这其中也夹杂着好些没有多大用处的部分,又有一些部分选材不是很精要。比如说,Vim插件部分,我以为一本好的书应该为读者挑选一些最常见也最有用的插件对作者进行介绍。这部分作者似乎还没有SMTH BBS Vim版的FAQ写得好。 2.常用技巧 下面总结一下我从这本书和其它地方学到的一些常见的设置和技巧(我自认为是中高级的,可是有些读者可能认为某些部分是初级的)。 2.1全局替换 %s/old/new/g 2.2多文件替换 多文件替换,比如要替换所有.c文件中a_value为a_value,可以使用如下方法: vi *.c :argdo %s/a_value/b_value/ge | update 其中update是直接替换覆盖原文件,若需要确认,则可使用 :argdo %s/a_value/b_value/gec | update 2.3增加多行注释 方法一: Ctrl+v; 选定所需行; I; #|//; Esc两次 比如需要增加#或者是//这种注释。Ctrl + v 定位到开始行,然后选定需要的行,然后执行 I 命令,然后输入 # 或 //,然后按 Esc键两次,即可把注释操作应用到所有选定的行,记住选定不能使用v指令,而应该使用Ctrl + v (清除注释请参考上面的方法)(v是按行选定,Ctrl + v 是按照列选定) 方法二: :起始行,终止行s/要替换字符/替换为新字符/g 比如::1,20s/^/\/\//g 2.4 ab技巧 :ab 替代符 原始信息 比如::ab mail abc@gmail.com 2.5分割窗口功能 分割窗口: :split [filename] (水平分割) :vsplit [filename] (垂直分割) :new (打开一个窗口编辑新文件) 窗口跳转: CTRL+W w (循环跳转) CTRL+W (h|j|k|l) (上下左右) 关闭(当前)窗口: :close 关闭所有其它窗口: :only 增减窗口大小 CTRL+W +/- 缓冲区跳转: :bnext (下一缓冲区) :blast (上一缓冲区) 退出所有窗口 :qall 保存所有窗口: :wall 保存并退出所有窗口: :wqall 2.6改变颜色配置 :colorscheme mycolors Vim自带多种配色方案,可以根据需要自己选用。若不知道系统有哪些配色方案,可以在输入:colorscheme(空格)后用Shift+Tab键选择。 2.7显示和不显示行号 显示行号:set nu[mber] 取消显示行号:set nonu 2.8更好的状态行 通过设置statusline可以设置更好的状态行,我选择的设置是: set statusline=%F%m%r%h%w\ [FORMAT=%{&ff;}]\ [ASCII=\.3b]\ [POS=%4l,%3v][%p%%]\ [LEN=%L] 它可以显示当前文件的路径和文件名以及整个文件的长度。 2.9光标行和光标列 :set cursorline (设置光标行) :set cursorcolumn (设置光标列) 其中我觉得光标行更有用些。Vim默认设置,要找到光标所在位置不是很方便。 2.10语言拼写检查 set spell set spelllang=en,de,it 中文需要语言包支持,不过最常用的还是英文检查吧 2.11键绑定 map 对Normal, Insert, Visual和Command-line模式均有效 imap Insert模式有效 cmap Command-line模式有效 nmap Normal模式有效 vmap Visual模式有效 键绑定可以定义一些键的组合为一个快捷键,如: imap :wa 2.12定位功能 { 段首 } 段尾 g, 前一修改处 g; 后一修改处 ( 句首 ) 句尾 w 下一单词头 b 前一单词头 % 跳至匹配括号 [[ 和 ][ 向后|前至下一区段开始 [] 和 ]] 向后|前至下一区段结束 [{ 跳至块开始 ]} 跳至块结束 [/ 跳至注释块开始 ]/ 跳至注释块结束 gd (Goto Declaration) 跳至定义处 gD 跳至全局变量定义处 gj 跳至长行下一段 gk 跳至长行上一段 gf (Goto File) 打开文件 ?向前查找 / 向后查找 ?? 重复上一向前查找 // 重复上一向后查找 # 向前查找光标下词(整词匹配) * 向后查找光标下词(整词匹配) g# 向前查找光标下字符串(不必是整词) g* 向后查找光标下字符串(不必是整词) vimgrep /pattern/[j][g] file file2 … fileN 多文件查找 使用标志(mark)定位: 0~9 系统自用 a-z 本文件mark (使用方法: 标志:ma, 调至标志 `a) A-Z 跨文件的mark :marks 查看所有标志 :delmarks 删除标志 2.13 自动补全 Ctrl+p 自动补全单词 Ctrl+n 自动补全单词(向前查找)两者一般感觉不到区别 Ctrl+x Ctrl+k 通过字典补全单词 Ctrl+x Ctrl+t 从同义词典(thesaurus)补全 Ctrl+x Ctrl+f 文件名自动完成(很有用) Ctrl+x Ctrl+l 自动完成整行 Ctrl+x Ctrl+i 从当前和包含文件补全 Ctrl+x Ctrl+o 全能自动补全,需要set omnifunc 说明: 设置字典的方式:在.vimrc中增加以下语句(借用look命令的字典库) set dictionary+=/usr/share/dict/words 即可使用Ctrl+x Ctrl+k功能,很好很强大! 2.14 使用宏 qx (开始录制宏至寄存器x,x可以为任何字母,但是最常见的是q) command1 … q (结束录制) @x (引用宏) @@ (重复上次宏使用) 2.15读写文件或命令内容 :r filename (读入文件内容) :m,nw filename (将m~n行内容写入文件) r!command (插入command命令结果) 2.16使用寄存器 无名寄存器 “” 字寄存器 “0 “1 … “9 有名寄存器(Named Registers) “a~”z “A~”Z (大写寄存器内容追加,而不是覆盖) 只读寄存器: “% 当前活动缓冲区文件名 “# 前一文件文件名,替换文件 “. 最后插入的文本 “: 最后命令行运行的命令 黑洞寄存器: “- 进入的永远消失 搜索模式寄存器 “/ 表达式寄存器: “= (使用:输入表达式后ENTER, p粘贴) 2.17折迭 zfa{ 创建折迭 zc 折迭 zo 打开折迭 zM 折迭所有 zR 打开所有折迭 2.18文件比较vimdiff :vimdiff file1 file2 :diffsplit filename 或命令行下 vim –d file1 file2 可进行文件比较 [c 前一差别 ]c 后一差别 2.19缩进 >% 缩进块中内容 <% 反缩进块中内容 >i{ {内部缩进(不包括{}) >a{ {内容缩进(包括{}) 文件模板 :autocmd BufNewFile *.html 0r $VIMHOME/template/html.tpl 可以在创建新的.html文件时读入模板(html.tpl中内容) 2.21识别中文字体 你的Vim在打开中文文件时都是乱码吗?若是这样,在.vimrc中加入以下几行就可以了: set fileencodings=utf-8,gb2312,gbk,gb18030 set termencoding=utf-8 set encoding=prc 3. 常用插件 Vim中的插件有许多,上Vim.org自己查吧,不过我自己使用以下几个,也觉得是用有用的。以下只说明这些插件的用途,具体用法不做详细介绍。有了这些插件,足以形成一个可以与VC媲美的集成开发环境了。 3.1 ctags 实现标签跳转,C/C++/Java编程时很有用。命令行下ctags –R *创立标签,Ctrl+]/Ctrl+O跳转,Ctrl+T返回 3.2 taglist 生成文件纲要,包括函、关键字等。安装后使用:Tlist 3.3 A 实现头文件跳转。ctags不能查找头文件 3.4 NERDtree 目录浏览功能。可以用o命令打开目录或文件,非常好用 3.5 MiniBuffer 打开多个文件时,生成一个类似标签页的导航菜单,可以用Ctrl+w w命令跳转至该部分并用Tab选择不同文件 3.6 calendar 日历插件 ...
关键字: QQ界面 换肤 自绘控件 透明窗口 Vista样式 免费开发包 随着计算机技术的发展与普及,计算机逐渐走进了人们的日常生活当中。人们通过它来学习,娱乐,信息的交互等等.并且对应需而生的各种各样的软件产品的要求也有了一定的提高。除了基本功能外,对软件易操作性,界面的美观性等也是一个成功软件必不可少的重要因素。美观个性化的界面是一个软件吸引和留住用户的法宝之一,通讯软件QQ/MSN就是这类产品中的一个典型的代表,下面将用VC++对QQ的界面进行模拟实现,供广大朋友参考。 相信各位对QQ已经相当熟悉,因此对其外观特性等不作累叙.我们将选用Visual C++来进行进行实现。在这之前,有必要向读者介绍一下大体情况。 其实,整个过程最重要的部分是个性化界面自绘部分,也是难度最大的部分。关于界面编程方面的知识,诚然这是一个较为大的体系结构,我们不能奢求通过简短的篇幅就能对它进行较为全面的描述,并且现在软件开发行业也有缩短开发周期,提高开发效率的趋势,于是将这一难度问题借用外在控件协助我们完成. 关于换肤控件的选择,这也向大家简单介绍一下,当然这只是个人的观点,仅供参考了解。当前市场提供多个换肤出名的换肤产品(SkinMagic,Skin++,USkin,AppFace,SkinCrafte,等),其中SkinMagic,AppFace,USkin等都是做得比较马虎的,界面的某些元素效果做得让人不太满意.而Skin++和SkinCrafte在这方面做得比较出色.客观的说Skin++目前应该说,是国内较为出色的产品,其占用资源消耗比俄国产品SkinCrafte要出色,而俄国产品SkinCrafte在外观性能上做到的效果比Skin++要优秀点,COOL一点. 虽然如此,本实现没有选用以上任何一产品,原因是这有一个新起之秀SkinBeauty,它无论是性能和外观做出的效果都比较嚣张,更甚的是宣称提供良好的键盘操作支持同时并号称在Win2K和XP等系统可以做出Vista的玻璃磨沙效果。 当然,这些都是所谓的比较结果而已,还有一个选用SkinBeauty的原因是:SkinBeauty可以使用自带的皮肤编辑软件(SkinBeauty Studio)实现一套皮肤包含多种样式的窗口界面,按钮样式等。这是以上任何一个产品暂时似乎都不能提供的。而我们这个项目的需求也有此(主界面,聊天对话框窗口不同,并有多个不同特性的按钮等细节问题)。 经过了前面的简单描述,接下来将开始具体的实现了。先看一下目标效果,如图: 0.准备工作: 用产品相应的皮肤编辑软件SkinBeautyStudio编辑好界面各元素皮肤,一般好看的界面都是由图片绘制所成(这是到其主站下载已有的BeautyQQ.bsk皮肤)。将下载好的换肤开发库(SkinBeauty.dll,SkinBeauty.lib)和接口文件SkinBeautyExport.h准备好,下载地址在本文章后有给出,或自己到www.afe-soft.com上自己下载。 1.建立项目: 打开VC++,利用向导帮助建立基于MFC的对话框项目BeautyQQ,过程如下 New-> Projects -> MFC AppWizard(exe) -> Dialoag based 其他默认完成建立。简单的修改一下对话框的大小,标题栏名称等,编译一下,如图: , 运行一下基本正常,这就算完成了项目的创建工作了。 2.加载换肤库 做好基本框架后,界面还是很土,运行效果难以让人满意,于是我们接下来可以加载换肤库,初步改变程序的界面外观了。 将先前准备好的skinBeauty.dll库放在项目的运行目录,在项目的目录放入SkinBeautyExport.h文件和SkinBeauty.lib文件,以便稍后引入并调用函接口。(一般DLL库的调用分成静态调用和程序运行期间动态调用2种,关于这两种的区别,可参考其他文章。这,我们将选用静态调用的方式实现) 在适当的位置添加引入库的声明,这我们选择在stdafx.h文件面添加: //inside stdafx.h //SkinBeauty Lib Call #include "SkinBeautyExport.h" #pragma comment(lib,"SkinBeauty.lib") 在项目得初始化位置(这选择在项目的创建实例cpp文件面,BeautyQQ.cpp的CBeautyQQApp::InitInstance()函的开始,一般都可以在此加载)加入皮肤加载的代码: BOOL CBeautyQQApp::InitInstance() { CString exeFullPath; CString strFilename; int nLen = GetModuleFileName(NULL, exeFullPath,MAX_PATH); CString strPath(exeFullPath); strPath = strPath.Left(strPath.ReverseFind('\\')); strFilename = strPath +_T("\\beautyQQ.bsk"); SkinLoad(THCAR2char(strFilename.GetBuffer(0))); ….. } 从上面可知,我们先用GetModuleFileName()获取加载皮肤的路径,然后调用提供的函接口SkinLoad()实现换肤库的加载。而SkinLoad()函的参也比较容易理解,就是皮肤所谓位置的路径。它的原型可以在头文件找到: //load the skin with a skin-file from a path. //[IN]:absolute file path BOOL SkinLoad(char* szSkinPath); 至此,已经完成换肤库的加载了。运行看看效果是不是眩了很多,呵呵。 顺便说一下的是,官方声称,调用完SkinLoad()载入后,在退出程序前并不需要调用任何卸载函,换肤引擎将自动实现库的销毁拆装等操作,除非你程序运行中途意愿性的想去掉皮肤外观。 现在已经完成QQ主界面的外观实现与美化了,接下来我们通过VC向导添加一个对话框资源并添加相应的类,命名CtalkDlg类,其功能是聊天对话框的对话窗口,也就是当我们双击用户列表的其中一个用户后弹出的聊天窗口.当我们运行的时候发现,它的窗口背景外观除了大小外,其它跟主界面是完全一样的, 怎么办呢?没有关系,因为在皮肤文件面已经编辑和准备好另一外观的窗口皮肤资源,我们只需要将这个聊天对话框创建后跟这个皮肤资源绑定则可,重载这个CtalkDlg类的初始化函,并添加绑定代码,具体实现如下: BOOL CTalkDlg::OnInitDialog() { CDialog::OnInitDialog(); //将该对话框绑定某资源ID,让其绘制根据该资源定义来实现 //bind with the predefine res BindRes2CtrlbyHWND(103,m_hWnd); ……. } 上述代码功能是将预先在beautyQQ.bak皮肤面定义好的对话框图像资源与对话框绑定,资源内部ID号为103(注意,该资源编号是编辑皮肤的时候就是由用户定义的,一般从101开始)。从上面的BindRes2CtrlbyHWND()函名称以及参可知道,功能是将窗口句柄为m_hWnd的窗口外观与资源Id为103的皮肤资源绑定.于是,这就实现了不同窗口可以显示不同的背景皮肤了。 跟这个功能相类似的是,我们聊天对话框有好几个按钮,它们拥有不一样的外观,按理也应该绑定指定需要的外观皮肤资源,于是,我们可以采用以下函接口实现: BindRes2CtrlbyID(106,IDC_BUTTON_TALK_SERACH); 以上语句是将皮肤资源ID为106的皮肤跟程序资源ID为IDC_BUTTON_TALK_SERACH的搜索按钮相绑定,该函接口可以在程序运行前面预先将某控件与指定的皮肤资源相绑定,提供的是控件资源ID与皮肤资源ID。当然也可以用句柄的方式绑定,跟前面的BindRes2CtrlbyHWND()不同的是,大多对话框窗口在运行期间没有固定的控件资源ID的概念(不象button,edit等控件),所以只能使用实时句柄HWND的形式进行绑定。前面两个资源绑定函的原型在SkinBeautyExport.h头文件面可以找到,如下: //bind a skin_resource with a Ctrl by Ctrl ID or by handle //[IN]:user resource define in the skin-file; the ID/handle of Ctrl to be set void BindRes2CtrlbyID(int nUserResID,DWORD dwCtrlID); BOOL BindRes2CtrlbyHWND(int nUserResID,HWND hWnd); 好,经过上面的描述后,对照附件的源码,对于QQ的菜单,用户列表等实现已经不是那么困难了,用户只需象正常的菜单和ListCtrl那样使用就可以了,运行的时候换肤库自动会将他们的外观美化起来。读者可下载源码,看它是怎么绑定实现的。 基本整个复杂而超眩的项目就在完成向导创建后调用两到三个第三方接口函中完成。坦白说,整个换肤开发包提供的接口函相当简练,就10多个,功能与使用方法亦是相当明了,相信无需多研究就知道如何使用;如果对这几个接口函有什么疑问,可以参考官方提供的开发文档说明书。 其实上面的例子跟商家提供的源码类似,只是本人将其实现过程解释出来而已,希望对做界面的朋友有参考作用。开始我是对使用商家界面换肤产品的行为比较反感,后来发现效果和效率还凑和,就算了,并在商家的鼓励下写了篇文章帮他们介绍给读者认知,换取了一个企业版本的开发包。算是“个人利益跟群众利益结合”吧,的确不错的,大家可以测试。不过我想对国内某些用户不太满意的是,目前SkinBeauty的使用文档是英文著写的,暂时没有中文版本,这对部分不动E文的朋友有点不方便罢了。 搞界面开发的,建议多下载几个换肤产品看看其性能,如资源占用,做到的效果,键盘操作性等。 结语 在尤为强调效率的时代,不妨考虑使用可信赖的第三方控件,将繁杂而固化的实现扔给它们来处理,深入产品功能业务,站在别人的肩膀上,再优化自身,从而走得更高更远。 使用换肤开发包SkinBeauty开发商主页:www.afe-soft.com 开发包(免费版本)下载地址: http://www.afe-soft.com/downloadcenter.htm 开发文档下载地址: http://www.afe-soft.com/downloadcenter.htm (免费版本是无Logo,无弹出窗口限制的,这点可以给部分做共享的朋友点方便了,估计,当然,如果要性能好,不完全受限还是需要获取企业版本了..天下没有免费的午餐,天下乌鸦一般黑?…呵呵,还是不损得太厉害了) 界面换肤 美化 异形窗口 vista 样式 透明窗体 自绘控件 vc vb delphi 编程 源码 代码 例子 磨沙 半透明 开发包 免费 破解 button dialog frame XP 下载 自绘按钮 菜单 标题栏 滚动条 listctrl treeview listview scrollbar menu QQ界面 软件 程序 界面 编程

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧