自訂滑鼠樣式的做法

來源:互聯網
上載者:User

調用外部滑鼠樣式,一般情況有兩種,一種是調用滑鼠檔案cur、ani檔案(cur是靜態游標檔案,ani是動畫游標檔案)。

做法,自訂游標檔案嵌入dll和調用的方法。把滑鼠樣式cur檔案添加入資源檔(這曉得吧,就是開啟項目的property,點擊資源,ctrl+v進去),記住在Resources裡面選擇cur檔案,點擊屬性,修改產生操作為內嵌資源。(這樣做事為了控制項封裝時候一起封裝,如果你是在from中用,那當我沒說)

 

代碼如下:

                    this.Cursor = new Cursor(GetType(), "Resources.hmove.cur");

 

記住GetType()是為了獲得Resources在哪個項目下,如果報錯,請檢查名字是否正確?是否選定資源為內嵌資源?

      另外一種是直接把png、jpg圖片做為滑鼠游標。

public void SetCursor(Bitmap cursor, Point hotPoint)

        {

            int hotX = hotPoint.X;

            int hotY = hotPoint.Y;

            Bitmap myNewCursor = new Bitmap(cursor.Width*2 - hotX, cursor.Height*2 - hotY);

            Graphics g = Graphics.FromImage(myNewCursor);

            g.Clear(Color.FromArgb(0, 0, 0, 0));

            g.DrawImage(cursor, cursor.Width - hotX, cursor.Height - hotY, cursor.Width, cursor.Height);

 

            IntPtr iptr = myNewCursor.GetHicon();

            this.FindForm().Cursor = new Cursor(iptr);

 

            g.Dispose();

            myNewCursor.Dispose();

            cursor.Dispose();

}

 

 

 

調用方法 Bitmap a=(Bitmap)Bitmap.FromFile("myCur.png");  

       SetCursor(a, new Point(0, 0));

第二種可以向第一種轉換,使用ArtCursors滑鼠編輯器,不會用也沒關係,只需要匯入png,匯出cur就成。因為我驗證了第二種在調用多次的時候,會出現“GDI+一般性錯誤”的報錯提示。所以最好是調用一次儲存Cursor變數是最好的解決辦法。切忌反覆調用~

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.