📄 lc_bcb_92.html
字号:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>用C++Builder获取应用程序图标</title>
</head>
<body>
<b>
<p align="center"><font size="5">用<font face="宋体" lang="ZH-CN">C++Builder</font>获取应用程序图标</font></p>
</b>
<p align="center"><font size="2">130022 刘四委
中科院长春应化所6-4</font></p>
<p align="center">现在,网上有大量的有关图标的共享软件或免费软件,而且很多也很好用,也方便。但是那毕竟是别人的,用起来总有些哪个,况且自己又喜欢编程,何不自己动手呢!说干就干,而且手头上有可视化编成的利器――C++Builder4.0,想来应该是很简单的一件事。</p>
<p align="justify">首先启动C++Builder,新建一工程,在窗体上放置一个Button控件,一个Image控件,和一个OpenDialog控件,它们的名称均不必改动。双击Button控件,写如下代码:
if(OpenDialog1->Execute())</p>
<p align="justify">{</p>
<p align="justify">FileName = OpenDialog1->FileName;</p>
<p align="justify">HICON hIcon;</p>
<p align="justify">// Total =(int) ExtractIcon( Form1->Handle,
FileName.c_str(), -1);</p>
<p align="justify"><font size="5"> </font></p>
<p align="justify">Icon = new TIcon();</p>
<p align="justify">hIcon = ExtractIcon( Form1->Handle, FileName.c_str(), 0);</p>
<p align="justify">Icon->Handle=hIcon;</p>
<p align="justify"><font size="5"> </font></p>
<p align="justify">Icon->SaveToFile(TempFile);</p>
<p align="justify">Image1->Picture->LoadFromFile(TempFile);</p>
<p align="justify">}</p>
<p align="justify">其中:FileName,TempFile,Icon在其头文件中定义:AnsiString TempFile,
FileName ; Ticon *Icon;</p>
<p align="justify">这样,你所选定的程序的第一个图标就在Image控件中显示了出来。本程序所用的是Windows
API ExtractIcon来获取图表的,因此它只能获取可执行文件的图标,如果想获取任意文件的图标,那末你可以调用Windows
API 的SHGetFileInfo函数来完成,SHGetFileInfo所能完成的任务有很多,具体用法可参见Win32的帮助文件。</p>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -