C 自定義游標 WaitCursor

2021-07-13 13:29:15 字數 1605 閱讀 6584

一種: 把影象檔案放到專案的資料夾

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...