A
B
C
Ç
D
E
F
G
Ğ
H
I
İ
J
K
L
M
N
O
P
R
S
Ş
T
U
Ü
V
Y
Z
Q
W
X
+ Ekle
Windows API’ den MFC Sınıflarına

Windows API’ den MFC Sınıflarına

Windows 95" den başlayarak Windows XP" ye uzanan zincir ve Windows NT türevleri, kişisel bilgisayarlar için Microsoft Windows işletim sisteminin 32 bit sürümleridir. Şu an büyük çoğunluk 32 bit işletim sistemlerinde yoğunlaşmaktadır.

Win32 API

Windows"un 32 bit sürümlerinin aynı dilde yazıldığını söyleyebiliriz. Bütün hepsi, herkes tarafından Win API olarak bilinen Application Programming Interface" e dayanır. Win API" nin 16 bit sürümleri de vardır, ancak Windows 95, Windows 98 Windows NT Win32 API ya da kısaca Win32 olarak bilinen 32 bitlik sürümü kullanırlar.

Win32 API nedir? API, birkaç yüz fonksiyonun artı birçok değişmezin, makronun, structların, tiplerin ve diğer öğelerin toplamıdır. Bu öğeler windows programları tarafından kullanılır. Bu programlama öğeleri, C programlama dilinde yazılmıştır. API" nin çoğu, Windows.h olarak adlandırılmış bir dosyada tanımlanmıştır. Bu dosya, Visual C++ da dahil olmak üzere, windows için birçok programlama ortamıyla gelir.

Windows Programlamada En Az Bilinmesi Gerekenler

Kendinizi bilgisayarın önünde oturup, belki de Microsoft Word" u kullanırken hayal edin. Bir dakika fareye ya da klavyeye dokunmadan oturun. Çok fazla bir şey olmuyor, değil mi? Düzeltme imi, yani metninizin ekleme noktasındaki yanıp sönen imleç, yanıp söner.

Şimdi yazmayı deneyin. Klavyede yazdığınız yeni metin, düzeltme imi konumunda görüntülenir. Sonra, fareyle metin seçin. Metin vurgulanır. Araç çubuğunda kalın düğmesini tıklayın. Seçili metin kalın stil baskısıyla yeniden yazılır. Bu işlemlerin her birine event yani olay denir.

Olaylar

Microsoft Windows, kullanıcı tarafından yönetilen bir sistemdir, yani yürütme zamanın çoğunu kullanıcının bir şey yapıp ona yanıt vermek için bekleyen bir sistemdir. Kullanıcı bir tuşa bastığında, fareyi oynattığında ya da farenin düğmesine bastığında, bilgisayar donanımı, Windows"a bir olay olduğunu, nasıl bir olay olduğunu, ne zaman olduğunu ve ekrana oranla ne oranda olduğunu bildirir.

Olaylar üç yoldan biriyle oluşur:

1.Fare ve klavye gibi girdi aygıtları aracılığıyla olur.

2.Menü, araç çubuğu, kaydırma çubukları ve iletişim kutularındaki denetimler gibi ekrandaki görsel nesneler aracılığıyla olur.

3.Örneğin, bir pencere tarafından örtülen bir pencerenin birden ortaya çıkmasında olduğu gibi, Windows" un kendisinden, içindendir.

Windows programa bu olayların yapılması gerektiğini nasıl bildirir? İletiler aracılığıyla.

İletiler

Windows az önce açıkladığım olaylar gibi olayların haberini aldığında bir ileti( message) oluşturur. İletiye eşlik etmesi için ilgili bilgiyi( konum ve zaman gibi) bir veri yapısında bir araya toplar ve iletiyi uygun programa gönderir. Windows"taki iletiler, windows.h dosyasında( ya da windows.h" ın içerdiği dosyalardan birinde) makrolarla tanımlanan değişmezlerdir. İleti sabitleri WM_XXX biçimindedirler. Örneğin WM_CHAR, WM_LBUTTONDOWN, WM_COMMAND.

Windows, uygulama iletiyi alıp işlemeye hazır olana kadar diğer askıdaki iletilerle beklediği hedef uygulamanın ileti kuyruğuna sokar. 32 bit Windows sistemlerde, her bir uygulamanın kendi ileti kuyruğu vardır.

İleti Kuyruğu

Uygulamanın içinde bir ileti döngüsü( message loop) vardır. Kodda bu aşağıdakine benzer:

While(GetMessage(&msg,NULL,0,0)



{
TranslateMessage(&msg);
DispatchMessage(&msg);
}

Bu küçük döngü uygulamanın ileti kuyruğundan aldığı ile WM_QUIT olmadığı sürece işlemeyi sürdürür. O ileti döngünün bitmesine neden olur. Çünkü GetMessage, WM_QUIT iletisi gördüğünde iletiyi almak için Win32 API işlevi olan GetMessage işlevini çağırır. Kuyrukta ileti yoksa, GetMessage orada oturur ve ileti gelmesini bekler.

GetMessage ileti verdiğinde, döngü onun klavyeden gelip biraz ek iş gerçekleştirecek bir ileti olup olmadığını anlamak için, iletiyi TranslateMessage işlevine aktarır. TranslateMessage, ham klavye iletilerini, yazılan karakter hakkındaki kullanması kolay bilgileri açığa çıkarmak için tasarlanmış WM_CHAR iletilerine döndürür. TranslateMessage, yazılan alfasayısal karakter ve basılabilir simgelerden ayırır. TranslateMessage, klavyeden gelmeyen iletilere hiçbir şey yapmaz. Son olarak, DispatchMessage işlevi, uygulamada hangi pencerenin( birden fazlaysa) iletiyi alması gerektiğine ve hangisi üzerinden iletinin gönderilmesi gerektiğine karar verir.

İleti İşleyiciler

İletiyi alan uygulamanın içinde gelen iletiye ne olduğu, sizin, yani uygulama programcısının ne yaptığına bağlıdır. İki temel olasılık vardır:

Handler(işleyici), yani bir iletiyle başa çıkan bir kod yazdınız. İleti için işleyici varsa, iletiyi işlemeyi işleyici kod yürütür.

İleti için işleyici yazdınız. Bunun yerine, Windows" un her ne varsayılan işlemi yapması gerekiyorsa, iletiyi Windows" a geri göndermeyi tercih ettiniz.

Geleneksel Windows programlamasında, bunu DefWindowProc işlevini çağırarak yaparsınız.

MFC: C++, OOP(Object Oriented Programming) ve Win32API" nin Müthiş Birleşimi

Microsoft Win32API" nin yüzlerce işlevi olduğundan, öğrenmek yıldırıcı olabilir. C" de çalışıyorsanız, en az altı ay ile bir yıl arasında dik öğrenme eğrisine güvenebilirsiniz.

Senelerce, Windows programlaması yapmanın standardı C dili olmuştur, ancak kısmen C++ dilinin nesne temelli olanakları ve kısmen MFC nedeniyle her geçen gün daha çok programcı C++ diline kayıyor. MFC, Windows programlamayı kolaylaştırır ve diğer türlü dikkate almayacağınız özellikleri ,uygulamanıza eklemenizi sağlayarak sizi daha güçlü bir programcı yapar. Ancak MFC de o kadar değildir ve onu kullanmak için Windows programlaması ve C++ "ın öğrenme eğrilerini tırmanmanız gerekir. Windows"un kendisi C ile yazılmış olsa da, onun yadsınamaz nesne yönelimi vardır. Windows nesne temelli olduğundan, onu nesne temelli bir programla programlamak mantıklıdır. Bu amaç için, C++, C" den çok daha iyidir. C++, gördüğümüz gibi nesneleri, onların özellikleri ve davranışlarını simgelemek için güçlü araçlar olan sınıfları içerir.

Sınıf Kitaplığı

Doğrudan C++ ile Windows için programlama yapabilirsiniz. Ancak çok daha etkili bir yaklaşım, sınıf kitaplığı kullanmaktır. MFC kitaplığı gibi bir sınıf kitaplığı, temel Windows nesnelerini simgelemek için iyi tasarlanmış ve iyice sınanmış sınıflar temin eder. Örneğin, pencereleri simgelemesi için CWnd sınıfı vardır ve çerçevesi olan pencereleri simgelemesi için CFrameWnd sınıfı vardır. Ayrıca, iletişim kutuları için CDialog, işlem düğme denetimleri için Cbutton, boya fırçaları için CBrush gibi sınıflara ek olarak MFC "nin 6.0 sürümü itibarıyla 200 üstünde sınıfı vardır










  • diline pelesenk olmak ne demek
  • dillere pelesenk olmuş ne demek
  • pelesenk
  • pelesenk ne demek
  • Pelesenk Ne Demek – Pelesenk Sözlük Anlamı
  • pelesenk olmak ne demek
  • pelesenk olmak ne demektir
  • pelesenk olmuş ne demek
  • Yüksek Yüksek Tepelere sözleri
  •   Ad Soyad
      Yorum