一種: 把影象檔案放到專案的資料夾
中
1 如果影象檔案是.cur格式:
cursor cur=new cursor(檔名);
this.cursor=cur;
兩句話 就完事
2 如果影象檔案是其他格式
首先引入命名空間
usingsystem.runtime.interopservices;
匯入api
[dllimport("user32.dll")]
publicstatic
externintptr loadcursorfromfile(stringfilename);
接下來使用自己的滑鼠樣式
intptr colorcursorhandle = loadcursorfromfile("my.bmp");//滑鼠圖示路徑
cursor mycursor = new cursor(colorcursorhandle);
this.cursor = mycursor;
二種: 把影象檔案放到專案資源中
1 新增引用 using system.runtime.interopservices;
2.2 在程式中宣告游標資源載入函式loadcursorfromfile;
[dllimport("user32")]
private static extern intptr loadcursorfromfile(string filename);
2.3 宣告陣列 byte cursorbuffer=namespace.resource .cursorname;
namespace為資源檔案所在專案的命名空間名稱,cursorname對應游標資源檔名。
2.4 建立乙個臨時游標檔案temptest.dat;將cursorbuffer中的資料寫入資料檔案中;
filestream filestream = new filestream("temptest.dat", filemode. create);
filestream.write(cursorbuffer, 0, cursorbuffer.length);
2.5 關閉檔案,利用api 函式loadcursorfromfile從游標臨時檔案中建立游標。
filestream.close();
cursor .current =new cursor(loadcursorfromfile("temp001.dat"));
其實載入游標就兩種方式,
1、直接用.cur檔案直接獲得cursor物件;
2、獲得檔案的記憶體快取指標,然後獲得cursor物件,獲得指標有兩種方法
①已知檔案,由api函式loadcursorfromfile()獲得指標;②如果是資源檔案,則可以直接用properties.resources.資源名.gethicon() 來獲得;
所以有了資源檔案,我們不必把資源檔案寫入檔案,再通過loadcursorfromfile()獲得即可。
C 自定義游標
一種 把影象檔案放到專案的資料夾 中 1 如果影象檔案是.cur格式 cursor cur new cursor 檔名 this.cursor cur 兩句話 就完事 2 如果影象檔案是其他格式 就麻煩一點 首先引入命名空間 using system.runtime.interopservices ...
C 自定義滑鼠游標
使用者可自定義位圖,自定義顏色,自定義游標大小 using system.runtime.interopservices using system.windows.forms using system.drawing class cursoruserdefine intptr ptr bmp.get...
自定義NSSearchField游標顏色
自定義nssearchfield游標顏色 本文主要介紹如何自定義輸入框中游標的顏色。如果想自定義nssearchfield樣式,請參考老譚的一片文章 該文章裡面做了一些詳細的介紹。改變游標顏色有兩種方法 1.子類化nssearchfieldcell,重寫setupfieldeditorattribu...