Windows API

Kontroller

Kontroller Windows uygulamalarının temel yapısını oluşturur. Kontroller, kullanıcının programla iletişimini sağlayan ve girdiği verileri kullanılmak üzere programa ileten program elemanlarıdır. Programa ekleyeceğimiz her kontrol, aslında program ana penceresi altında oluşturacağımız bir alt penceredir. Program içinde yer alan bütün kontroller bir pencere olarak oluşturulur. Oluşturulan kontrol pencereleri ana program penceresine veya kendisine ait bir mesaj işlem fonksiyonunu kullanabilir.

Kontrol penceresi oluşturulurken, CreateWindowEx() fonksiyonunun lpClassName parametresi için 3 farklı sınıf değeri kullanılabilir:

  1. Sistem sınıfları
  2. Genel (Common) sınıflar
  3. Kullanıcı tanımlı sınıflar

Kontrol penceresi oluşturulurken, CreateWindowEx() fonksiyonunun lpClassName parametresi için yukarıda belirtilen sınıflarda yer alan değerlerden biri kullanılır. Kullanılan sistem değerine bağlı olarak CreateWindowEx() fonksiyonunun dwStyle parametresi farklı değerler alabilir.

Sistem sınıfları

Aşağıda tüm programlar tarafından kullanılabilecek sistem sınıfları yer almaktadır.

STATIC, EDIT, BUTTON, LISTBOX, COMBOBOX, RICHEDIT_CLASS, SCROLLBAR, MDICLIENT

Genel (Common) sınıflar

Aşağıda genel kontrol kütüphanesi tarafından sağlanan ve kontrol oluşturmada kullanılan sınıflar yer almaktadır.

Genel control sınıflarını kullanarak bir kontrol oluşturmak için, commctrl.h başlık dosyasını programımıza dahil etmemiz gerekir.

Genel Kontrol Kütüphanesi Sınıfları
Sabit değer Açıklama
ANIMATE_CLASS Sessiz AVI kliplerini görüntüleyen Animasyon kontrolleri oluşturur.
DATETIMEPICK_CLASS Kullanıcıların tarih ve zaman bilgilerini değiştirmesi için basit bir arayüz sağlayan tarih ve zaman seçme kontrolleri oluşturur.
HOTKEY_CLASS Kullanıcının kısayol tuşlarını tanımlamasını sağlayan kısayol tuşu denetimleri oluşturur.
LINK_CLASS Bağlantılar ile kullanılan Syslink kontrolleri oluşturur.
MONTHCAL_CLASS Kullanıcıların bir arayüzden bir tarih seçmesi için ay takvim kontrolleri oluşturur.
NATIVEFNTCTL_CLASS Yerel yazı tipleri ile kullanılan yerel yazı tipi denetimleri oluşturur.
PROGRESS_CLASS Uzun süren bir işlemin ilerleme durumunu gösteren ilerleme kontrolleri oluşturur.
REBARCLASSNAME Çocuk pencereler için konteyner görevi yapan Rebar kontrolleri oluşturur.
STANDARD_CLASSES Buton, Edit gibi kontroller oluşturur.
STATUSCLASSNAME Yatay bir pencerede durum bilgisini görüntüleyen durum pencereleri oluşturur.
TOOLBARCLASSNAME Menü komutlarını çalıştıran butonların yer aldığı araç çubukları oluşturur.
TOOLTIPS_CLASS Bir uygulamada bir aracın amacını açıklayan bir metin satırı içeren küçük bir pencere açan araç ipucu kontrolleri oluşturur.
TRACKBAR_CLASS Kullanıcıların bir Slider'ı hareket ettirerek bir dizi değerden seçimm yapmasını sağlayan çubuklar oluşturur.
UPDOWN_CLASS Tıklandığında Edit kontrolü içindeki değeri değiştiren bir çift oku Edit kontrolü ile birleştirerek yukarı-aşağı kontrolleri oluşturur.
WC_BUTTON Kullanıcıların bir işlem yapmasını sağlayan buton kontrolü oluşturur.
WC_COMBOBOX Kullanıcıların tek bir öğe seçebileceği bir açılır liste içeren ComboBox kontrolü oluşturur.
WC_COMBOBOXEX Kullanıcıların tek bir öğe seçebileceği bir açılır liste içeren ComboBox kontrolü oluşturur. Ayrıca, ComboBox item'leri için resim tanımlama olanağı sağlar.
WC_EDIT Düzenlenebilir metin içeren Edit kontrolleri oluşturur.
WC_HEADER Bu kontroller, bilgi sütunlarının üstündeki başlıkları görüntüler ve kullanıcılar başlıkları tıkladığında bilgiyi sıralamasına olanak sağlayan başlık kontrolleri oluşturur.
WC_LISTBOX Bir değerler listesi içeren Listbox kontrolleri oluşturur.
WC_IPADDRESS IP adresi şeklinde sayısal bir adres girmenizi sağlayan IP adresi kontrolleri oluşturur.
WC_LINK Hypertext bağlantılar içeren SysLink kontrolleri oluşturur.
WC_LISTVIEW Her biri bir simge ve bir etiketden oluşan bir öğe koleksiyonu içeren ve öğeleri birkaç farklı şekilde görüntülemeyi sağlayan Listview kontrolleri oluşturur.
WC_NATIVEFONTCTL Mevcut sistem dilini görüntülemek için bir iletişim kutusunun önceden tanımlanmış denetimlerini etkinleştirmek için arka planda çalışan görünmez yerel yazı tipi kontrolleri oluşturur.
WC_PAGESCROLLER Başka bir pencere içermek ve kaydırmak için kullanılan sayfalama kontrolleri oluşturur.
WC_SCROLLBAR Kullanıcıların bir pencerenin içeriğini kaydırmasını sağlayan kaydırma çubuğu kontrolleri oluşturur.
WC_STATIC Düzenlenemeyen metin içeren statik kontroller oluşturur.
WC_TABCONTROL Bir pencerenin veya iletişim kutusunun alanı için birden çok sayfa tanımlayan ve her sayfa, kullanıcılar ilgili sekmeyi seçtiğinde uygulamanın görüntülediği bir bilgi kümesi veya kontrol grubundan oluşan tab kontrolü oluşturur.
WC_TREEVIEW Her bir öğenin bir etiket ve isteğe bağlı bir bitmap'ten oluştuğu hiyerarşik bir öğe listesinin yer aldığı Treeview kontrolleri oluşturur.

Kullanıcı tanımlı kontroller