设为首页 加入收藏

TOP

如何提取并保存图标资源
2014-11-23 20:00:36 来源: 作者: 【 】 浏览:15
Tags:如何 提取 保存 图标 资源

当你想要使用别的应用程序中的漂亮图标时,该怎么办呢?也许就会用到一些图标提取工具吧!那么,你知道它们是怎么实现的,想不想自己动手也做一个适合自己的图标提取工具呢?它可以提取各种文件中的图标资源,并可将其保存为图标(ICO)、位图(BMP)两种格式。程序运行后界面如下:

aspectratio="t">

图一

在上面的例程中,我整合出一个图标类CIcons和与之相配的一个位图类CDib,其中包括Icons.h、Icons.cpp、Dib.h和Dib.cpp四个文件。在你的工程中直接加入这四个文件后,调用其类涵数,既可做出你自己的图标工具来。
下面让我们来看看如何来具体用它们来实现:
1、 提取并显示出图标到左侧列表框中。
代码实现如下:
//读取各种资源内部图标并显示在左侧列表框中

void CIconSnapDlg::OnOK() 
        
{        
        
         CFileDialog fileDialog( TRUE,"*.ICO",NULL,NULL,"资源文件(*.ICO,*.BMP,*.EXE,*.DLL,*.ICL)|*.ICO;*.BMP;*.EXE;*.DLL;*.ICL||");
        
         if (fileDialog.DoModal() == IDOK) 
        
         {                
        
                 szOpenFileName=fileDialog.GetPathName();    
        
        szOpenFileExtName= fileDialog.GetFileExt ();
        
                 szOpenFileExtName.MakeLower ();
        
 
        
                 m_List.ResetContent (); //选清空左侧图标列表框
        
 
        
                 //读取并显示ICON文件
        
        if(szOpenFileExtName =="ico") 
        
                 {
        
                          lpIR=pIcons->ReadIconFromICOFile (szOpenFileName);           
        
                          HICON hIcon;
        
                          hIcon=ExtractIcon(AfxGetInstanceHandle(),szOpenFileName,0);
        
            if(hIcon!=NULL)
        
                                   m_List.AddString (szOpenFileName);
        

		
        
		
	
        
<script type="text/java script">BAIDU_CLB_fillSlot("771048");
点击复制链接 与好友分享! 回本站首页
<script> function copyToClipBoard(){ var clipBoardContent=document.title + '\r\n' + document.location; clipBoardContent+='\r\n'; window.clipboardData.setData("Text",clipBoardContent); alert("恭喜您!复制成功"); }
分享到: 更多
<script type="text/java script" id="bdshare_js" data="type=tools&uid=12732"> <script type="text/java script" id="bdshell_js"> <script type="text/java script"> var bds_config = {'snsKey':{'tsina':'2386826374','tqq':'5e544a8fdea646c5a5f3967871346eb8'}}; document.getElementById("bdshell_js").src = "http://bdimg.share.baidu.com/static/js/shell_v2.js cdnversion=" + Math.ceil(new Date()/3600000)
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇如何把DIB转换成DDB 下一篇用RealPlayer控件制作的播放器

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: