給你的應用程式新增動態滑鼠 (轉)
---- 幸好Visual C++已為我們準備好了一個很好的編輯動態滑鼠的工具AniEdit,並且還提供了它的全部原始碼。檢索一下VC++盤的DevStudioVCSamplesSDKSDKTOOLS目錄,你就會找到它的。你可以利用VC++生成一個 Application,然後用Add Files to Project命令將所有原始碼加入該專案,編譯之後就可得到AniEdit。不過,要自己製作動態滑鼠的話,除了AniEdit之外,還需要另外一個編輯工具ImagEdit。VC++也提供了它的全部原始碼。它位於與AniEdit同樣的目錄下,請按與AniEdit同樣的方法編譯並得到ImagEdit。
---- 對於AniEdit的使用方法簡述如下:程式啟動後,左邊是動態滑鼠每幀的畫面,右邊上端可設定每幀的顯示時間,下端是動態滑鼠預覽。若你要改動某一幀的畫面,先選中它,然後選擇選單Edit|Edit Frame...,於是啟動了ImagEdit,對單幀畫面進行編輯,改完之後儲存退出。若要增加一幀畫面,可選擇Edit|New Frame...,注意正確設定熱點。在使用AniEdit之前,你也可以先利用AniEdit開啟目錄下的Globe.ani,大致瞭解一下是怎麼回事?全部編輯完後生成字尾為ani的動態滑鼠檔案。
---- 那麼有了動態滑鼠檔案之後,又怎麼在VC++中呼叫呢?透過以下幾行簡單的程式碼就可以輕鬆地利用動態滑鼠。首先在類中增加成員變數m_hAniCursor,然後在構造中賦空值,
void CSampleView::CSampleView() { m_hAniCursor = NULL; }
---- 再利用LoadCursorFromFile()載入動態滑鼠檔案:
void CSampleView::OnInitialUpdate() {//推薦在OnInitialUpdate或OnInitialDialog //中載入動態滑鼠檔案 ... if(m_hAniCursor == NULL) m_hAniCursor= LoadCursorFromFile("d:pathsample.ani"); ... }
---- 接著在需要改變滑鼠的地方呼叫SetCursor()。推薦用ClassWizard擷取WM_SETCURSOR訊息,然後修改OnSetCursor()函式。
BOOL CAboutDlg::OnSetCursor (CWnd* pWnd, UINT nHitTest, UINT message) { // TODO: Add your message handler code here and/or call default if(m_hAniCursor!=NULL) SetCursor(m_hAniCursor); /*or if(m_hAniCursor!=NULL) SetClaong(GetSafeHwnd(), GCL_HCURSOR, (LONG)m_hAniCursor);*/ return TRUE; //return CDialog::OnSetCursor(pWnd, nHitTest, message); }
---- 最後編譯程式並執行,你就可以發現一隻美麗的蝴蝶在螢幕上翩翩起舞,是不是很酷?
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-988896/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 給你的 MuseUI 應用新增字型、樣式UI
- 使用TypeDescriptor給類動態新增Attribute
- HarmonyOS:給您的應用新增通知(1)
- iOS12-Swift5-Xcode10-如何動態的(用程式碼)給view新增陰影shadowiOSSwiftXCodeView
- 給你的部落格新增RSS
- 給你的網站新增炫酷的動畫註釋網站動畫
- Flutter 動態更改應用程式啟動圖示Flutter
- 在vue中給奇數行動態新增classVue
- 動態建立節點並且給建立的元素新增屬性
- 給你的Flutter頁面跳轉加上動畫Flutter動畫
- 如何給 SAP Fiori Elements 應用的欄位新增 value help
- SAST 與 DAST:靜態和動態應用程式安全測試AST
- 動態代理的原理及其應用
- 動態代理的實際應用
- [譯] 使用 Kotlin 將你的應用程式從 iOS 轉換成 AndroidKotliniOSAndroid
- Swift如何給應用新增3D Touch選單Swift3D
- 如何給 SAP Fiori Elements 應用新增自定義按鈕
- 給你的Vim加上自動程式設計功能程式設計
- 如果你的公司還沒有企業級班車應用,把這篇文章轉給你老闆
- 洞察 | 企業數字化轉型費用高昂?低程式碼“骨折”給你!
- 使用SAP WebIDE給SAP UI5應用新增data sourceWebIDEUI
- cglib動態代理和jdk動態代理的區別與應用CGLibJDK
- mobx動態新增observable
- 給你的 VuePress 新增 Gitalk 評論外掛吧VueGit
- 給你的hexo新增live2D看板娘Hexo
- [譯] Flutter 中的原生應用程式狀態Flutter
- 給 SAP BTP 建立的 Java 應用新增 Custom Event Handler 支援建立功能Java
- 送給寫小程式的你。
- 靜態應用程式安全測試
- 快速掌握SOLIDWORKS齒輪轉動的應用Solid
- app直播原始碼,css給數字或文字在滑鼠懸停時新增下劃線動畫APP原始碼CSS動畫
- 為什麼要給應用程式簽名?
- 動態修改應用icon和name
- iOS探索:Runtime之訊息轉發及動態新增方法iOS
- 動態原型和互動式應用程式建立軟體:Principle中文漢化原型
- HDFS動態新增節點
- JavaScript動態新增li元素JavaScript
- 動態IP代理的應用場景有哪些?
- 00024.06 反射:反射的應用2:動態建立物件反射物件