1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
| using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.Runtime.InteropServices;
namespace Example027_显示动画光标 { public class Form1 : System.Windows.Forms.Form { private System.ComponentModel.Container components = null;
public Form1() { InitializeComponent();
}
protected override void Dispose(bool disposing) { if (disposing) { if (components != null) { components.Dispose(); } } base.Dispose(disposing); }
#region Windows Form Designer generated code private void InitializeComponent() { this.AutoScaleBaseSize = new System.Drawing.Size(6, 14); this.ClientSize = new System.Drawing.Size(292, 273); this.Name = "Form1"; this.Text = "Form1"; this.Load += new System.EventHandler(this.Form1_Load);
} #endregion
[STAThread] static void Main() { Application.Run(new Form1()); } [DllImport("user32")] private static extern IntPtr SetCursor(IntPtr hCursor); [DllImport("user32")] private static extern IntPtr LoadCursorFromFile(string lpFileName); const int WM_SETCURSOR = 0x0020;
private void Form1_Load(object sender, System.EventArgs e) { IntPtr hCursor; hCursor = LoadCursorFromFile("..\\..\\pic.ani"); SetCursor(hCursor); }
protected override void WndProc(ref System.Windows.Forms.Message m) { switch (m.Msg) { case WM_SETCURSOR: IntPtr hCursor; hCursor = LoadCursorFromFile("..\\..\\pic.ani"); SetCursor(hCursor); break; default: base.WndProc(ref m); break; } } } }
|