2011-01-16 10 views
1

Ich habe mich nur gefragt, ob irgendjemand etwas für C# gemacht hat, ähnlich wie das zirkuläre Laden, das fast überall in Windows 7 und Vista verwendet wird.Windows 7 Wie Rundlader?

circular loading thing http://img600.imageshack.us/img600/3127/a7ff394fb1d04795b9a2a21.png

Edit:

Ive bemerkte eine Menge Kommentare über Cursor aber das ist überhaupt nicht zu dem, was im Versuch zu tun, im Zusammenhang. Ich versuche, einen Ladekreis zu schaffen, gezogen zu meinem Fenster als benutzerdefinierte Steuerung

Was Ive versuchte, so weit (oder so ähnlich.):

Ive die das Laden von Bildern aus dem folgenden zu extrahieren versucht dll %SystemRoot%\System32\imageres.dll ohne Erfolg, über den Link zur Verfügung gestellt von Mark Pim (this one)

ich es versucht, und konnte erfolgreich von der dll Ein Bild extrahieren, aber ich kann nicht bestimmen, wie die spezif zu extrahieren ic Bild, das ich brauche. Die Kreisanimation ist in der DLL als Bitmap/5004 aufgeführt.

hier ist ein Code ive

versucht
public struct SHFILEINFO 
    { 
     public IntPtr hIcon; 
     public int iIcon; 
     public uint dwAttributes; 
     [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] 
     public string szDisplayName; 
     [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 80)] 
     public string szTypeName; 
    }; 
    [DllImport("Shell32.dll")] 
    public static extern IntPtr SHGetFileInfo(string pszPath, uint dwFileAttributes, ref SHFILEINFO psfi, int cbFileInfo, uint uFlags); 
    public Image GetImage() 
    { 
     IntPtr hImgLarge; 
     SHFILEINFO shinfo = new SHFILEINFO() { }; 
     string FileName = @"C:\Windows\System32\imageres.dll"; 
     System.Drawing.Icon myIcon; 
     hImgLarge = SHGetFileInfo(FileName, 0, ref shinfo, Marshal.SizeOf(shinfo), 0x100); 
     myIcon = System.Drawing.Icon.FromHandle(shinfo.hIcon); 
     return myIcon.ToBitmap(); 
    } 

im nicht sicher, wie die SHGetFileInfo zu manipulieren, das richtige Bild zurückzukehren. irgendwelche Ideen?

+1

Sie könnten die Cursordatei in Ihre Anwendung aufnehmen und auf den Bildschirm zeichnen. Warum es in C# neu implementieren? –

+0

Der Windows Wartecursor ist kleiner als der Kreis, nach dem ich suche .. aber können Sie sogar einen Cursor animieren, während Sie ihn auf den Bildschirm zeichnen? – caesay

+1

** this.Cursor = Cursors.WaitCursor ** liefert das Standardverhalten der Benutzeroberfläche für Win7. Von und UX-Perspektive empfehle ich, das beizubehalten, anstatt die Benutzererfahrung auf anderen Plattformen zu ändern. –

Antwort

1

Es ist wie die Bilder sieht in% SystemRoot verfügbar% \ System32 \ imageres.dll

ich diese Anwendung verwendet, um diese DLL zu durchsuchen und manuell überprüfen, ob ich die Spinner-Animationen sah:

http://www.wilsonc.demon.co.uk/d10resourceeditor.htm

sehen sie diese Frage auf, wie diese in Ihre WinForms-Anwendung einzufügen:

How can I access to system icons like "folder", "file" etc.?

+0

Danke für die Antwort, - ich habe tatsächlich die Spinner-Animation mit dem Programm, das Sie vorgeschlagen, aber ich konnte nicht ganz herausfinden, wie das Ladebild aus der Baugruppe zu lesen. Wird die Frage in Kürze mit meinen Bemühungen aktualisieren. – caesay