Dokunmatik Ekran Kullanımı

Yazar: Çeliker BAHÇECİ
Kategori: .NET Micro Framework
Eklenme Tarihi: 30.5.2009 21:09:32



Yeni bir input cihazı olarak dokunmatik ekranı inceliyoruz.

Micro Framework cihazında kullanacağımız uygulamaya göre, LCD ihtiyacı doğabilir. Kullanıcıya bilgilendirmek için kullanıla bilecek en pratik komponent LED olsa da, LCD eğer üzerinde bir dokunma algılayıcı varsa, hem bilgi vermek hem de bilgi almak için kullanıla bilir.

Uygulamanın çeşitli parametrelerini kullanıcıdan alabilir veya çeşitli noktalardan toplanan verileri ekran üzerinde gösterebilirsiniz. Standart otomasyon uygulamalarında çok sık kullanılan bir componentdir.

Benim kullandığım developer kit üzerinde (Tahoe II) 320x240 renkli bir LCD ve üzerinde SPI ile sisteme bağlanan bir dokunmatik algılayıcı var.

Uygulamanızda dokunmatik ekranı aktif yapmak için, projemize donanımı kullanmak için gerekli referance ekliyoruz :

Namespace olarak da projemize ekliyoruz :
using Microsoft.SPOT.Touch;

Eğer emulatörde değil de cihaza has dokunmatik ekranı kullanmak istiyorsanız, o DLL ile projemize eklememiz gerek. Örn: using DeviceSolutions.SPOT.Hardware;

Bir sonraki basamak, uygulamamızda dokunmatik ekranı aktif hale getirmek :


public static void Main()

{

….….

Microsoft.SPOT.Touch.Touch.Initialize(myApplication);

………..

}

Şimdi kullanıma hazır ekrana dokunulduğunda gerekli event’ın tetiklenmesi için hangi kontrolde çalışması gerektiğine karar vermeliyiz, bence ekranı kaplayan bir Panel objesini kullanmak demo için en uygunu.

public Window CreateWindow()

{

………

Panel panel = new Panel();

panel.Height = 240;

panel.Width = 320;

panel.HorizontalAlignment = Microsoft.SPOT.Presentation.HorizontalAlignment.Center;

panel.VerticalAlignment = Microsoft.SPOT.Presentation.VerticalAlignment.Center;

panel.StylusDown += new StylusEventHandler(OnStylusDown);

panel.Children.Add(text);

………

}


Paneli yaratıp mainWindow’a atadık. Ve ekrana dokunulduğunda çalışacak metodu belirledik.

protected void OnStylusDown(object sender, StylusEventArgs e)

{

}

e objesini kullanarak hangi panelin hangi noktasına dokunulduğunu anlaya bilir ve bunu görüntüleyebiliriz. Bunun için bir Text nesnesini panele ekliyoruz.

text.Font = Resources.GetFont(Resources.FontResources.small);

text.TextContent = "0:0";

text.HorizontalAlignment = Microsoft.SPOT.Presentation.HorizontalAlignment.Center;

text.VerticalAlignment = Microsoft.SPOT.Presentation.VerticalAlignment.Center;

panel.Children.Add(text);

OnStylusDown metodunun içine tıklanan noktayı tespit etmek ve göstermek için şunları ekleriz:

protected void OnStylusDown(object sender, StylusEventArgs e)

{

int x;

int y;

e.GetPosition(panel, out x, out y);

text.TextContent = x.ToString() + "," + y.ToString();
}

Uygulamamızı çalıştırdığımızda panel üzerine tıklanan noktanın koordinatlarını ekranda gösterecektir.

Dokunmatik ekran üzerinde menü yapma ve kullanmayı daha sonra inceleyeceğiz.


Çeliker BAHÇECİ
Bilg. Müh.
ben@celiker.com


Çeliker BAHÇECİ

2004 yılında Doğu Akdeniz Üniversitesi Bilgisayar Mühendisliginden mezun oldum. .Net platformu ile 2002 yılında tanıştım. Yazılım firmamda ekibim ile birlikte, .Net platformunda ticari uygulamalar geliştirmekteyim.

celiker.com
Bu makaleye ilk yorum yapan siz olun.

Yorumunuz