Entwickler-Ecke

WinForms - Eigenen Cursor ins Programm einbetten


katmai - Mo 08.12.08 16:04
Titel: Eigenen Cursor ins Programm einbetten
Hallo ich möchte meinen eigenen Cursor in mein Programm haben weiß aber nicht wie ich dem Programm mitteile dass der Cursor in einem Unterordner bei der Exe liegt.... Leider weiß ich auch nicht wie ich diesen Cursor dann setzte.

der Befehl

C#-Quelltext
1:
this.cursor = Cursors.examplecursor;                    


weißt einen Curser zu aber wie bekomme ich meinen Cursor in die Libary Cursors?

Vielen Dank im vorraus

thx katmai

EDIT:


C#-Quelltext
1:
string cursorpath = Application.StartupPath + @"\examplecursor.cur";                    

hab das hier gefunden ... somit kann ich meinem prog sagen wo er iss nur wie füge ich das der Libary Cursors hinzu ??


Kha - Mo 08.12.08 17:00

Schau dir einmal die Cursor-Klasse in der Hilfe an, dort ist ein komplettes Beispiel enthalten :) .


katmai - Di 09.12.08 11:48

okay solution found ....

Die eigene Klasse die erstellt werden muss um den eigenen Curser mit Pfadangabe zum Objekt des Progs zu machen:

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
public class AdvancedCursors
{

   [DllImport("User32.dll")]
   private static extern IntPtr LoadCursorFromFile(String str);

   public static Cursor Create(string filename)
   {
       IntPtr hCursor = LoadCursorFromFile(filename);

       if (!IntPtr.Zero.Equals(hCursor))
       {
           return new Cursor(hCursor);
       }
       else
       {
           throw new ApplicationException("Could not create cursor from file " + filename);
       }
   }
}

Un hier das Zuweisen :


C#-Quelltext
1:
this.Cursor = AdvancedCursors.Create(Path.Combine(Application.StartupPath, "Cursor\\hand.ani"));