12.07.2015 Views

bu döküman kaan aslan tarafından c ve sistem ... - Kitabxana

bu döküman kaan aslan tarafından c ve sistem ... - Kitabxana

bu döküman kaan aslan tarafından c ve sistem ... - Kitabxana

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

alınıp işlenmesi biçiminde oluşturulurlar. Programcı kuyrukta sırada <strong>bu</strong>lunan mesajı alır <strong>ve</strong> hangiolay karşısında ne yapacağını belirler. Programlar “ne oldu <strong>ve</strong> ben ne yapmalıyım” biçimindeyazılmaktadır.Pencere Kavramı <strong>ve</strong> Pencere Terminolojisi: İşletim <strong>sistem</strong>i <strong>tarafından</strong> bağımsız olarak kontroledilebilen dikdörtgensel bölgelere pencere denir. İşletim <strong>sistem</strong>i yaratılan tüm pencereleri birbiçimde bir liste içinde tutmaktadır. Masa üstüne açılan pencerelere ana pencereler(top le<strong>ve</strong>lwindows) denilmektedir. Bir pencerenin içinde görüntülenen <strong>ve</strong> o pencerenin sınırları dışınaçıkamayan pencerelere alt pencereler(chil windows) denilmektedir. Alt pencerelerin alt pencereleriolabilir. Birr alt pencerenin içinde <strong>bu</strong>lunduğu pencereye o alt pencerenin üst penceresi (parentwindows) denilmektedir. Üst pencereleri aynı olan pencere kardeş pencereler( sibliny windows)denilmektedir. Aslında en dıştaki masaüstü de bir penceredir. Bu durumda tüm anapencereler kardeşpencerelerdir. Ve masaüstü penceresinin alt pencereleri durumundadır. Hem alt pencere hem de anapencere görünümünde olan özel bir pencere durumuna sahiplenilmiş pencerler (owned windows)denilmektedir. Sahiplenilmiş pencereler üst pencerelerin dışına çıkabilir <strong>ve</strong> ana penceredurumundadır. Bunlar hiçbir zaman üst pencerelerin altında görüntülenmezler Sahiplenilmişpencereler <strong>ve</strong> üst pencerleri minimize edildiğinde onlarda minimize edilirler. Tipik olark dialogpencerleri böyledir. Tipik olarak bir anapencerede bir pencere başlığı <strong>ve</strong> sınır çizgileri<strong>bu</strong>lunmaktadır. Fakat bir pencere klasik olarak gördüğümüz ana pencerelerin tüm bileşenlerinesahip olmak zorunda değildir. Genellikle alt pencereler başlık kısmına sahip olmazlar fakat <strong>bu</strong> birzorunluluk cdeğildir. Aslında bir pencere sınır çizgilerine de sahip olmak zorunda değildir. Pencerebaşlığının altındaki çizim tapılabilen bölgeye çalışma alanı (client area) denilir. Çalışma alanının solüst köşesi çizim alanı için orjin belirtmektedir. Bir pencere bütünsel olarak görünür ya da görünmezyapılabilir. Bir pencere klavye <strong>ve</strong> fare mesajlarına kapatılabilir.Bu duruma pencerenin pasif halegetirilmesi (disable) denilmektedir. Bu hale gelmiş bir pencere görünür bir durumdadır. Fakatwindows klavye <strong>ve</strong> fare olayları için kuyruğa mesaj bırakmaz. Alt pencereler ile ana pencerlerarasında ciddi bir işlecsel fazlalık ya da azlık yoktur. Bir thread in yarattığı tümpencereleristerpencere olsun ister alt pencere oldun aynı mesaj kuyruğuna ilişkindir. Yani tüm <strong>bu</strong>pencerler için oluşan mesajlar aynı kuyruğa bırakılır. Mesaj kuyruğu mesaj başına bir tane değilthrread başına bir tanedir. Dolayısıyla bir mesaj döngüsü o threadin yrattığı tüm pencerelerinmesajlarını alıp işlemektedir. Windows da mesaj kavramı büyük ölçüde pencere kavramıylailişkilendirilmiştir. Yani biz bir pencere yaratmadıktan sonra bir mesaj kuyruğu ya da bir mesajdöngüsü söz konusu olmamaktadır.Console <strong>ve</strong> GUI Uygulamaları: Windows uygulamaları kabaca Console <strong>ve</strong> GUI uygulamalarıolmak üzere ikiye ayrılmaktadır. Console uygulamalarında program çalıştırıldığında siyah Consolepenceresi işletim <strong>sistem</strong>i <strong>tarafından</strong> otomatik yaratılmaktadır. Zaten bir exe dosyanın Consoleuygulaması olup olmadığı PE başlık bölümünde yazmaktadır. Şüphesiz birConsole uygulamasıbaşka bir Console uygulaması <strong>tarafından</strong> çalıştırıldığnda yeniden bir Console penceresiaçılmayabilir. Fakat bir Console uygulaması isterse normal GUI pencereleri yaratıp normal mesajdöngüsüne girebilir.GUI uygulaması tipik olarak pencereli programları anlatmaktadır. Fakat teknik anlamda bir GUIprogramının pencereye sahip olması da zorunlu değildir. Yani GUI uygulamaları teknik olarakConsole uygulaması olmayan uygulamalardır. Yani bir GUI uygulaması hiçbir pencere yaratmazsagörsel bir uygulama sergilemez. Ayrıca bir GUI uygulaması ek bir Console penceresi de yaratabilir.Console uygulaması için csc derleyicisi /target:exe GUI uygulaması için /target:winexe dir. /targetbelirlemesi yapılmaz ise exe uygulaması yapıldığı ka<strong>bu</strong>l edilir.İskelet GUI Programı: GUI uygulamaları için kullanılan türlerin büyük çoğunluğuWindows.Forms.dll içinde <strong>bu</strong>lunmaktadır. Bu türlerin büyük çoğunluğu yine System.Windows.Forms dolayısıyla <strong>bu</strong> dll e referans edip <strong>bu</strong> isim alanını using direktifi ile kullanmak11

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!