user32.dll için ilk  konu buna denk geldi hadi hayırlısı (: ekran görüntüsünü izletmek istediğimde mouse olmadığını farkettim.  buna çozüm için de Corsor.Draw  özelliğini kullandım . zaten ekran görüntüsünü almak için Graphics sınıfını kullanıyordum.  Draw fonksiyonu da graphics  objelerine yazdırabiliyordu. süper. !

0
namespace D3 {
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class D3Cursor
    {
        [DllImport("user32.dll", EntryPoint = "LoadCursorFromFile")]
        private static extern IntPtr LoadCursorFromFile(String dosyaAdresi);
        
        public static Cursor Create(string dosyaAdresi)
        {
            IntPtr hCursor = LoadCursorFromFile(dosyaAdresi);
 
            if (!IntPtr.Zero.Equals(hCursor))
            {
                return new Cursor(hCursor);
            }
            else
            {
                throw new ApplicationException("Cursor Dosyadan Okunamadı file " + dosyaAdresi);
            }
        }
    }
 
}

user32.dll içindeki LoadCursorFromFile fonksiyonundan yararlandık. fonksiyon bize IntPtr (Pointer) türünden bir obje döndürüyor. Cursor sınıfı da bu pointer ile cok rahat cursor oluşturabiliyor. zaten bize windowstaki bir elemanın özelliklerinden biri gerekiyorsa bunu en iyi pointerlarla alırız. ve bu en garanti çözümlerden olur.
dosyadan okuyamadağı taktirde ApplicationException türünde yakalanabilir bir hata dönderecektir.

iyi çalışmalar

flexte ursor sap gibi hep aynıydı canımı sıktı cursorü yerine göre değiştirmek için projenin heryeriyle oynadım mecburen (: sizin de işinize yarar bi örnek verim dedm.

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="338" height="116" backgroundGradientAlphas="[1.0, 1.0]" backgroundGradientColors="[#FFFFFF, #BFBFBF]">
 <mx:Label text="Cursor değiştirmek için butona tıklayın" width="228.5" x="54.75" y="79"/&gt;
 <mx:Script>
 &lt;![CDATA[
 import mx.managers.CursorManager;
 ]]>
 &lt;/mx:Script>
 <mx:Button x="54.75" y="36" toggle="true" label="Cursor Normal" width="220" id="cursorButonu">
 <mx:click>
 &lt;![CDATA[
 if(cursorButonu.selected){
 cursorButonu.label='Cursor Meşgul';
 cursorManager.setBusyCursor();
 }else {
 cursorButonu.label='Cursor Normal';
 cursorManager.removeBusyCursor();
 }
 ]]>
 &lt;/mx:click>
 &lt;/mx:Button>
&lt;/mx:Application>

Bu da Görüntüsü (:

© 2012 Tufan Suffusion theme by Sayontan Sinha