📄 如何显示资源文件中gif 文件.txt
字号:
由 于 GIF资 源 不 是 Windows的 标 准 资 源 , 所 以 解 决 这 个 问 题 需 要 先 将 GIF资 源 写 到 一 个 临 时 文 件 , 然 后 用 LoadPicture显 示 文 件 , 最 后 再 删 除 掉 磁 盘 上 的 临 时 文 件 。 我 们 假 定 你 的 资 源 文 件 如 下 :
102 GIF c:\about.gif
你 可 以 用 这 样 的 语 句 来 实 现 :
SaveFileFromRes(102, "GIF", "C:\about.gif")
Picture1.picture = LoadPicture("C:\about.gif")
Kill "C:\about.gif"
这 里 的 C:\about.gif只 是 一 个 例 子 , 在 实 际 编 程 你 可 以 用 Windows API的 GetTempFileName来 生 成 临 时 文 件 名 (但 GetTempFileName生 成 的 临 时 文 件 扩 展 名 为 .tmp, 需 改 为 .gif)。 这 里 的 SaveFileFromRes函 数 来 完 成 写 临 时 文 件 的 工 作 , 具 体 代 码 如 下 :
Public Function SaveFileFromRes(vntResourceID As Variant, sType As String, sFileName As String) As Boolean
'======================================================='
'函 数 : SaveFileFromRes 从 http://AskPro.yeah.net下 载 '
'======================================================='
目 的 : 从 资 源 文 件 调 入 自 定 义 资 源 , 然 后 写 入 磁 盘 上 的 文 件 '
'返 回 值 : 如 果 没 有 错 误 为 True, 否 则 为 False '
'注 意 : sType 必 须 同 资 源 文 件 的 定 义 相 同 ( 包 括 大 小 写 ) ! '
' 假 定 sFilename是 合 法 的 , 可 写 的 '
'======================================================='
Dim bytImage() As Byte ' Always store binary data in byte arrays!
Dim iFileNum As Integer 'Free File Handle
On Error GoTo SaveFileFromRes_Err
SaveFileFromRes = True
'Load Binary Data from Resource file
bytImage = LoadResData(vntResourceID, sType)
'Get Free File Handle
iFileNum = FreeFile
'Open the file and save the data
Open sFileName For Binary As iFileNum
Put #iFileNum, , bytImage
Close iFileNum
Exit Function
SaveFileFromRes_Err:
SaveFileFromRes = False: Exit Function
End Function
这 个 方 法 不 但 适 用 于 GIF文 件 , 也 适 用 于 其 它 类 型 的 文 件 。
<END>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -