seo programında doğru alan

2 Temmuz 2013 Salı Unknown 0 yorum

Görüntü Modu(Mapping mode)


işletim
            DC nesnesinin çizime ilişkin en önemli elemanı görüntü modudur. Default görüntü modeu MM_TEXT'tir. Aslında çizim yapılırken kullanılan x, y değerleri pixellere karşılık gelmek zorunda değildir. Bu koordinata mantıksal koordinat denir. GDI fonksiyonları bu mantıksal koordinatları gerçek pixel koordinatlarına dönüştürerek çizim yaparlar. Görüntü modu şunlar üzerinde etkili olmaktadır:

1. Mantıksal koordinatların pixel koordinatlarına dönüştürülme biçiminde etkili olur.
2. x ve y artımlarının hangi yöne doğru olacağı üzerinde etkili olur.
3. Orijin üzerinde de etkisi vardır.

MM_TEXT Modu

            Bir DC elde edildiğinde bu default moddur. Mantıksal koordinatlarla pixel koordinatları birebir örten biçimindedir. Yani (10, 10) noktası çalışma alanının sol üst köşesinden itibaren 10 pixel sağ ve 10 pixel aşağıda bulunan pixel'dir. Bu mod doğrudan pixel tabanlı olduğu için çözünürlüğün değiştirilmesinden çok fazla etkilenir. x, y arttırımı x sağa y aşağıya doğru yapılmaktadır.

MM_LOENGLISH ve MM_HIENGLISH Modları

            Bu iki mod da x arttırımları sağa doğru y arttırımları yukarı doğrudur. MM_LOENGLISH modunda mantıksal bir birim 0.01 inch'e, MM_HIENGLISH'te ise her bir birim 0.001 inch'e karşılık gelmektedir. Örneğin MM_HIENGLISH modunda (0,0)'dan (1000, 1000)'e bir doğru çizildiğinde (0,0)'dan 1 inch sağa 1 inch yukarı olacak şekilde bir doğru çizilmektedir. Tabii GDI sistemi gerçek bir inch hesabı yapamaz. Çünkü çizginin kaç inch olacağı çözünürlüğe ve ekranın büyüklüğüne bağlıdır(Bir çizimin kaç inch oduğunun belirlenebilmesi için kullanılan monitörün büyüklüğünün ve çalışılan çözünürlüğün bilinmesi gerekir. Çünkü bunlar bilinirse bir pixel'in genişliği ve yüksekliği bulunabilir. Buradan hareketle tam bir ölçü hesaplanabilir). Ancak Windows sisteminin monitör uzunluğunu otomatik olarak bilmesi tam olarak mümkün değildir. Bu yüzden buradaki inch gerçek bir inch büyüklüğünü ifade edemez. Aslında Control Panel içerisinde sistem fontunun ayarlarıyla oynanarak dolaylı bir biçimde monitör uzunluğu girilebilir.

MM_LOMETRIC ve MM_HIMETRIC Modları

            Bu iki modda mantıksal birim milimetre cinsinden belirlenmiştir. Arttırım x için sağa, y için yukarıya doğrudur. Bir mantıksal birim MM_LOMETRIC'te 0.1 milimettre, MM_HIMETRIC'te ise 0.01 milimetredir.

Kartezyen Koordinat Sisteminde Doğru Çizen Program


            Pencerenin herhangi bir bölgesine birbirini kesen iki doğru çizilebilir. Bunların kesişim noktsı view port origin olarak belirlenebilir. Görüntü modu için MM_TEXT uygun değildir. MM_LOMETRIC kullanılmıştır. Program bir doğru çizmektedir. menüden seçim yapıldığında bir dialog penceresi çıkar. (x1, y1) ve (x2, y2) noktalarını ister ve doğru MoveToEx ve LineTo fonksiyonlarıyla çizilir. Programın menü yapısı: File=>Exit, Graph=>Line. Görüntü modunu değiştirmek için SetMapMode fonksiyonu kullanılır. Prototipi:

Scroll Bar'ların Kontrolü

            Scroll bar'lar yatay ve düşey olmak üzere iki kısıma ayrılmaktadır. Bir scroll bar ya otomatik olarak pencerenin sağ ve alt köşelerine yerleştirilir ya da bir alt pencere gibi yaratılır. Pencerenin sağına ve altına otomatik yerleştirilen scroll bar'lar birer alt pencere değildir. Scroll bar üzerinde şu hareketler yapılabilir:

1. Scroll bar oklarına tek click yapılabilir.
2. Scroll bar düğmesinin herhangi iki tarafına tek click yapılabilir.
3. Scroll bar düğmesi üzerinde sürükle ve bırak hareketi yapılır.

            Scroll bar kontrolü bir alt pencere olarak "scrollbar" sınıfıyla yaratılabilir. Scroll bar üzerinde yukarıda tanılanan işlemlerden birisi tanımlandığında scroll bar üst pencereye mesaj gönderir(Kontrol olarak yaratılmışsa üst pencereye, pencereye gömülü olarak yaratılmışsa gömülü olarak yaratılmış olan pencereye mesaj gönderir).
            Scroll bar üzerinde işlem yapıldığında scroll bar düğmesi otomatik olarak ilerletilmez. Programcı SetScrollPos API fonksiyonuyla düğmeyi ilerletir. Scroll bar üzerinde işlem uygulandığında üst pencere diğer kontrollerde olduğu gibi WM_COMMAND mesajıyla çağırılmaz, WM_HSCROLL ve WM_VSCROLL mesajlarıyla çağırılır.

WM_HSCROLL ve WM_VSCROLL Mesajları


            Mesajın parametreleri şunlardır: Eğer mesaj alt pencere biçimindeki bir scroll bar'dan gönderilmişse lParam içerisinde alt pencerenin handle değeri bulunur. Pencere içerisine otomatik iliştirilmiş olan scroll bar'lardan gönderilmişse lParam içerisinde 0 bulunur. LOWORD(wParam) scroll bar üzerinde hangi işlemin uygulandığını anlatır ve şunlardan bir tanesi olabilir:

SB_LINEUP  Scroll bar yukarı(sol) ok tuşuna basma sonucu
SB_LINEDOWN      Scroll bar aşağı(sağ) ok tuşuna basma sonucu
SB_PAGEUP Scroll bar düğmesinin yukarısına(soluna) basma sonucu
SB_PAGEDOWN     Scroll bar düğmesinin aşağısına(sağına) basma sonucu
SM_THUMBPOSITION      Scroll bar düğmesi sürüklenip bırakıldıktan sonra
SB_THUMBTRACK            Scroll bar düğmesi sürüklenirken
SB_TOP         Klavye kullanımı için ayrılmıştır
SB_BOTTOM            Klavye kullanımı için ayrılmıştır

SM_TOP ve SB_BOTTOM yalnızca klavye kullanımı için düşünülmüştür. Eğer scroll bar alt pencere biçiminde yaratıldıysa girdi odağı scroll bar üzerine verildiğinde kalvyenin tuşları otomatik olarak şu mesajları gönderir:




0 yorum: