VC应用 -个性化你的工具栏图标

 

1、首先,提供一些最好的图标,大家可以省去自己绘画图标的功夫,可以从繁琐的绘图工作中解脱出来。

ToYcon

在线网页转换PNG-ICON

http://converticon.com/

一个非常好的ICO图标查找网站

http://www.iconfinder.net

http://www.iconlet.com/

 

 

 

1. 下载一个可以制作真彩工具栏图标的免费的小工具,叫做TBCreator。CSDN上传文件实在是太慢,还经常出现问题,所以大家可以到Baidu和google上找一下,很方便的。
     利用它,可以把找到的需要合并的图标加进去,自动合并成一个真彩工具条位图。而且可以再拆分,重新组合,前后位置也可以从新排列。呵呵,不到一分钟,一个pp的bmp位图就完成了。而且还能同时生成normal图和disabled图。

2. 下载CtrueColorToolBar 类,这是一个专门加载真彩位图制作 toolbar 的很实用的类。用这个类配合上面的工具,是一个很不错的组合。 这个类的下载地址是:http://www.codeproject.com/docking/TrueColorToolBar.asp(本文所在文件夹在含有该类的源文件同时存有一个demo)。

3. 下面进入熟悉的VC,建立一个MFC标准程序,将2中下载的两个文件(一个CPP文件,一个H文件)添加到工程里面。然后重新编译一下程序,这时候会发现多了一个CtrueColorToolBar类。

4. 下面将我们准备好的工具条位图加入到程序中吧,TBCreator能同时生成normal位图和diabled位图,假设如下面的所示:
一个是normal图形,一个是disable图形:
Normal 位图:

Disable 位图:

先将这两个位图文件拷贝到程序的 res 目录下面,然后在 Resource View 中单击右键,用 Import 导入这两个位图,程序会自动生成两个ID号,当然你可以修改ID为IDB_NORMAL和IDB_DISABLE。
可以发现,这个例子想要的是48×48 拼成的工具条(我们用TBCreator编辑的图像资源是48×48)。这个时候将用到系统自动生成的工具条了。找到 toolbar 资源下的IDR_MAINFRAME,这里可以根据需要进行更改按钮的数目,删除多余的吧。由于现在需要增加的是一个48×48的大小的按钮,所以还得修改按钮大小(很重要,不然你得到的图片会只有默认的16×16的效果。双击其中任何一个按钮,修改大小为:48×48。

5.   找到程序的CmainFrame框架类的成员变量m_wndToolBar,这就是工具条变量。
系统默认的是Ctoolbar类,将Ctoolbar修改成CtrueColorToolBar即可。
在程序的引用CtrueColorToolBar类的文件中包含其头文件,本例是文件MainFrm.h的开头,增加一句: #include "TrueColorToolBar.h"
然后找到程序CmainFrame框架类的操作方法OnCreate函数。这里可是产生工具条的地方。在这里增加这样一条语句:
m_wndToolBar.LoadTrueColorToolBar( 48,
                                                                   IDB_NORMAL,
                                                                   IDB_NORMAL,
                                                                   IDB_DISABLED);
3个参数分别代表的意义是:48表示工具条按钮大小是48×48,第二个是normal工具条位图ID,第三个是hot(可以使用normal的ID)工具条位图ID,最后一个是disable工具条位图ID。
增加的位置可参考例子代码。 现在可以编译运行了,真彩工具条就可以出来了吧。

6.   最后,你可以和一般程序一样,对系统产生的toolbar资源下的IDR_MAINFRAME工具条的按钮进行设置,编写相应的响应函数即可。


 

 

 

 

 

 

 

 

 

1、Visual Toolbar工具

  Visual Toolbar 是一个工具条制作工具,也是目前唯一的这样的小工具,几乎是一直梦寐以求的超级好用的小工具。呵呵,当我第一次拿到这个东西的时候,只有一个感慨“太实用了!”。
  不知道大家以往作工具条的时候是怎样的,反正本人觉得很繁琐,程序员又不是美工,可是为了界面的pp,只好硬着头皮上了,不可能自己画那些图标,那就采用现成的吧,于是只能上网找一些好看得xp图标,然后用 photoshop 拼啊拼得,一不小心就得从来,费时费力。不知道别人都怎么做的,反正搜索了所有的制作真彩工具条的文章,都没有发现作者提供这样的信息或者方法。每次都很纳闷,当然也有一些作者提供了用ico图标作工具条的方法,不够相比这个有点复杂了。

Visual Toolbar 的下载地址:http://visualtoolbar.126.com/

界面非常简单,一看就能够理解和动手操作。只需要加入图标就能够生成。如图所示:



  简单吧,把你找到的一些pp的图标一个个加进去吧,就能自动合并成一个真彩工具条位图,而且还可以再拆分,重新组合,前后位置也可以从新排列。呵呵,不到一分钟,一个pp的bmp位图就完成了。而且还能同时生成normal图,hot图,和disable图。

有了这些位图,真彩工具条就算搞定了一半了。

2、CtrueColorToolBar类

  CtrueColorToolBar 类是一个专门加载真彩位图制作 toolbar 的很实用的类。

这个类的下载地址是:http://www.codeproject.com/docking/TrueColorToolBar.asp

  确实不错,用这个类配合上面的工具,是一个很不错的组合。下面就用一个例子一步步来实现吧。系统 windwos2000+VC 6.0 + sp5。假设用 Visual toolbar 制作好的工具条如图:

  • (1) 先建立一个基于MFC的SDI标准程序,没啥好说的,一路默认吧。
  • (2) 这个时候程序会默认生成一个工具条,如图:



    先这样放着吧,不理会。
  • (3)将CtrueColorToolBar类的两个文件拷贝到程序的目录下,并且在FileView中右键单击项目,加入CtrueColorToolBar类的两个文件,如图:



    将这两个文件导入进去。然后从新编译一下程序,这时候会发现多了一个CtrueColorToolBar类,这就是了。
  • (4) 下面将我们准备好的工具条位图加入到程序中吧,Visual Toolbar能同时生成normal位图和diable位图,假设如下面的所示:

    一个是normal图形,一个是disable图形:
     

    Normal 位图

    Disable 位图

      先将这两个位图文件拷贝到程序的 res 目录下面,然后在 ResourceView 中单击右键,用 Import 导入这两个位图,程序会自动生成两个ID号,当然你可以修改ID为IDB_NORMAL和IDB_DISABLE。可以发现,这个例子想要的是7个 48×48 拼成的工具条。这个时候将用到系统自动生成的工具条了。

  • (5)找到 toolbar 资源下的 IDR_MAINFRAME 我需要的只是7个工具条按钮,这里多了几个,删除多余的吧。由于我们现在需要增加的是一个48×48的大小的按钮,所以还得修改按钮大小。双击其中任何一个按钮,修改大小为: 而每个按钮都默认了ID和操作,所以暂时先不管了。
  • (6)找到程序的CmainFrame框架类的成员变量m_wndToolBar,这东西就是工具条变量了,系统默认的是Ctoolbar类,将Ctoolbar修改成CtrueColorToolBar即可。 在程序的引用CtrueColorToolBar类的文件中包含其头文件,本例子是文件MainFrm.h的开头,增加一句:
    #include "TrueColorToolBar.h"
    然后找到程序CmainFrame框架类的操作方法OnCreate函数。这里可是产生工具条的地方。增加这样一条语句:
    m_wndToolBar.LoadTrueColorToolBar( 48, IDB_NORMAL, IDB_NORMAL, IDB_DISABLED);
    3个参数分别代表的意义是:48表示工具条按钮大小是48×48,第二个是normal工具条位图ID,第三个是hot工具条位图ID,最后一个是disable工具条位图ID。 增加的位置你参考例子代码。 现在可以编译运行了,怎么用,真彩工具条出来了吧。
  • (7)最后,你可以和一般程序一样,对系统产生的toolbar资源下的IDR_MAINFRAME工具条的按钮进行设置,编写相应的响应函数即可。例子程序中还有两个位图也添加到资源中了,你可以修改上面m_wndToolBar.LoadTrueColorToolBar函数中后3个参数看看效果,就知道了。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/25336.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iconfont 彩色图标的使用

之前写过iconfont单色图标的应用,今天来介绍一下彩色图标的使用 文章目录 一、去iconfont矢量图库下载素材1、挑选自己喜欢的素材2、然后下载到本地,是个压缩包3、把压缩包解压到你的项目底下4、打开解压后的文件5、打开demo_index.html 二、在页面中引入…

下载iconfont图标

iconfont.js: const fs require(‘fs’); const https require(‘https’); // 解压工具,需要安装 const Admzip require(‘adm-zip’); // 项目成员在阿里图标库网站的cookie const cookie require(‘./iconfont.json’).cookie; // 阿里图标库域…

引入icon图标

最新方法:使用svg-sprite-loader引入icon 一.svg-sprite-loader的基本使用 1.在iconfont.cn下载好需要的图标后,把它添加到项目assets里并引入。 那如何引入呢? 🔍typescript svg cannot find module 方法:在系统文件shims-vue.d.ts里添加如下代码 sr…

Qt 更改exe图标显示

1、制作.ico格式图标。 (网上有在线转换工具) 2、将制作好的ico图标重新命名,比如:exe._ico.ico,然后拷贝到项目工程.pro相同路径下。 3、在Qt 项目工程文件下.pro。添加一行 : RC_ICONS exe_ico.ico 4、重新构建可执行程序。

震撼来袭,GPT-4全解读

今年3月,OpenAI团队正式宣布:GPT-4 来了! 微信搜索关注《Python学研大本营》,加入读者群,分享更多精彩 OpenAI发布的GPT-4是深度学习方面的最新里程碑。GPT-4是一个大型的多模态模型(可接收图像和文本输入…

chatgpt赋能python:Python发短信给手机:一种快速高效的通讯方式

Python 发短信给手机:一种快速高效的通讯方式 在当今数字化的时代,手机已成为人们日常生活不可或缺的一部分。然而,对于那些需要快速高效地与手机用户进行通讯的人们来说,传统的打电话和发送短信的方式则显得有些过于繁琐。对于这…

chatgpt赋能python:如何使用Python读取手机短信

如何使用Python读取手机短信 在现代社会,短信已成为人们生活中不可或缺的一部分。那么,如何利用Python读取手机短信呢?本文将介绍如何使用Python读取手机短信,并提出一些相关的建议。 什么是Python Python是一种高级的、开源的…

chatgpt赋能python:Python如何免费群发短信

Python如何免费群发短信 在数字化时代,短信成为了快速高效的沟通方式之一。针对群发短信需求,市场上存在着多种短信群发软件,而Python作为一个强大的编程工具,也可以轻松实现免费的短信群发功能。本篇文章将为大家介绍如何通过Py…

chatgpt赋能python:Python短信通知:方便快捷的业务提醒方式

Python短信通知:方便快捷的业务提醒方式 在现代社会,很多企业和组织需要及时地向员工、客户和用户发送通知,以便于协调业务和提高效率。而短信通知作为一种常用的业务提醒方式,已经成为了很多组织中不可或缺的一部分。Python语言…

北京十大律师事务所(排名涉及刑事、拆迁婚姻)

无论任何行业,首先要敬业。你需要了解:这个行业是干什么的?你在行业中处于什么地位?这个行业在社会各界的地位和价值如何?它的基本价值观是什么?作为律师,首先要对行业有敬畏感、尊崇感&#xf…

中国裁判文书网(2020最新版)

1.序言 因业务需要去爬取裁判文书网,查看了网上的诸多教程发现裁判文书网的反爬更新频率很高,但是从19年8月份更新之后再也没有新的更新了。估计是现在的反爬已经足够使用了,裁判文书网的反爬主要有四种。听我一一道来 2.正文 裁判文书网的…

甄选北京十大律师事务所排名榜(资深团队、胜诉率高)

根据司法部数据统计得知,截至2022年第三季度,全国共有执业律师50万多人。全国共有律师事务所4万多家。律师行业正在正确的轨道蓬勃发展中。我们期待律师行业的不断壮大和发展,也希望更多的人能通过法律途径维护自己的合法权益。 大家都知道北…

违反 GPL 协议,法院判罚了!国内首例

公众号关注 “GitHub科技” 设为 “星标”,每天带你逛 GitHub! 来自开源中国 近日,一起关于 GPL 版权纠纷案裁判文书公示。一审判决书显示,GPL3.0 协议是一种民事法律行为,具有合同性质,可认定为授权人与用…

律师也要职业危机?ChatLaw帮助普通人拥有自己的法律顾问

ChatLaw法律大模型近期出圈,发布上线当日即登顶知乎热搜榜第一,在Github已有近3k的star,被网友戏称之为大型模型中的“罗翔老师”。 ChatLaw法律大模型介绍 ChatLaw开源法律大模型来自北京大学ChatExcel课题组,目前仅提供学术参考…

同行涉嫌数据抄袭、商业诋毁和人身攻击,甚至向我们的法人推销,你会怎么办?...

补充说明一下,上一篇发表之后,已经有阿里云以及阿里巴巴的人联系到我,说内部正在彻查此事,一定会给我一个结果。我的态度是当然欢迎,但希望不要把彻查变成一个公关用语,必要的情况下,我们也可以…

违反GPL协议,法院判罚了!国内首例

整理 | 一君 出品 | OSC开源社区(ID:oschina2013) 近日,一起关于 GPL 版权纠纷案裁判文书公示。一审判决书显示,GPL3.0 协议是一种民事法律行为,具有合同性质,可认定为授权人与用户间订立的著作…

自然人如何在浙江法院网上完成诉讼——具体流程

起诉状模版下载链接:https://download.csdn.net/download/weixin_42574872/86264435 一、进入浙江法院官网注册与登录 1.浙江法院官网:http://www.zjsfgkw.cn/,点击进入后进入图1-1。 图 1-1 2.在图1-1点击登录后进入,进入图1-2…

区块链赋能律所非诉业务研究报告 | TokenInsight金杜律师事务所

近年来,围绕提高司法效率,改良司法程序,增强司法手段透明度和公信力开展的区块链项目研究越来越多,国内外应用落地情况良好。 2018年9月7日,最高人民法院公布了《最高人民法院关于互联网法院审理案件若干问题的规定》&…

用了一下AI代码补全工具,真爽!

前言 ChatGPT把AI带火了,我就在想,能用它做点什么呢,总不能只让它给我们带来焦虑,也要让我们从科技浪潮中分得一点红利吧。一番查找下来,有个功能对我们程序员来说比较实用,就是AI的代码提示补全功能。最先…

「料见」vol25.回顾 | PKU-Beaver开源项目团队:一起来聊首个可复现的RLHF基准

为了解决复现RLHF技术和基于RLHF技术的大预言模型的不安全问题,北京大学团队开源了名为PKU-Beaver(海狸)开源项目。 第25期料见闭门分享会,我“门”非常开心邀请到PKU-Beaver开源项目团队成员——北京大学人工智能研究院助理教授…