首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> VC >> VC 教學

CAnimateCtrl::Open 從資源載入 AVI 動畫的技巧

     編輯:VC 教學

CAnimateCtrl::Open(LPCTSTR) 需外部 AVI 檔案,部署不便。改用接受 UINT 資源 ID 的多載版本,即可將 AVI 內嵌於 EXE 中。

將 AVI 加入資源的關鍵步驟

  1. 在 .rc 檔手動加入:
    IDR_MYANIMATION AVI DISCARDABLE "res\\myanim.avi"
  2. IDR_MYANIMATION 須定義為整數常數(不可用字串),AVI 檔置於專案 res 目錄。
  3. 資源編譯器會逐位元組複製 AVI 至 EXE,動畫控制項即可尋獲。

通用化:嵌入任意檔案類型

同樣方法可嵌入任何檔案(如 FOO 類型):

IDR_MYFOOFILE FOO DISCARDABLE "res\\myanim.foo"

讀取時需自行撰寫程式碼:

HRSRC hRsrc = ::FindResource(hInst, MAKEINTRESOURCE(IDR_MYFOOFILE), "FOO");
DWORD len = SizeofResource(hInst, hRsrc);
BYTE* lpRsrc = (BYTE*)LoadResource(hInst, hRsrc);
// 使用 CMemFile 視為記憶體檔案操作
CMemFile file(lpRsrc, len);
file.Read(...);

甚至可搭配 CDocument 覆寫 OnOpenDocument 直接開啟資源檔案。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved