Bu site emekli olmuştur. Arşiv amaçlı olarak BT AKADEMİ sponsorluğunda yayın hayatına devam etmektedir.




C#nedir?com
 
YAZAR HAKKINDA
Onur Büyükceran
Onur Büyükceran
http://www.csharpnedir.com/
İletişme geçmek için tıklayın.
1 Makalesi yayınlanmakta.
Yazar hakkında detaylı bilgi için tıklayın.
Yayınlanan diğer makaleleri için tıklayın.
İlgili etiketler:  C++ / C++.NET Onur Büyükceran
 
YAZI HAKKINDA
Türü : Makale
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
Seviyesi : Başlangıç
Kategori : C++ / C++.NET
Yayınlanma Tarihi : 27.11.2002
Okunma Sayısı : 35713
Yorum Sayısı : 2     yorum yaz
Site İçi AramaSİTE İÇİ ARAMA
Üye Girişini AçÜye GİRİŞİ
Üye girişi için tıklayın.
Kullanıcı Adı
Şifre
 
Beni her zaman hatırla
Bir hafta boyunca kullanıcı bilgilerinizi kullanıcı çıkışı yapana kadar hatırlar. (Paylaşılan bilgisayarlarda önerilmez.)
 
Şifremi / Kullanıcı Adımı unuttum.
 
.net TV RSS Serbest KÖŞE (?)
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
emre TAŞ
Silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
Makale Gönder Bende Yazmak İstiyorum
.net TV RSSBlogroll
Turhal Temizer
Conda install environment.yml Package 10.8.2022
Turhal Temizer
Mac OS/X Removing CUDA 10.8.2022
Burak Selim Şenyurt
Rust Pratikleri - Value Moved Here 10.8.2022
Burak Selim Şenyurt
Rust Pratikleri - State Tasarım Kalıbı 10.8.2022
  Diğer Herşey
Sponsorlar
BT Akademi
Medya Portakal
Video Hosting Sponsoru
Csharpnedir.com bir Ineta üyesidir
Uzman Abi
Her Yönüyle C# - Sefer Algan
Windows Programcılığı ve MFC'ye Giriş
 
Kapat
Sayfayı Yazdır Sık Kullanılanlara Ekle Arkadaşıma Gönder MySpace Del.Ico.Us Digg Facebook Google Mixx Reddit StumbleUpon

Windows Programcılığı

Microsoft Windows işletim sistemleri dünyada çok geniş bir kitleye hitap ediyor. Bu yüzden Windows için program geliştirme önemli bir market oluşturuyor. Bu yazıda MFC'nin temelleri hakkinda tanımlamaları bulabileceksiniz. Genel bir tanımlamanın ardından, basit bir MFC programcığının oluşturulma basamaklarını inceleme fırsatınız olacak.

Temelde Windows Programcılığı

Windows, programcıların işini kolaylaştırmak için bir takım kütüphaneler (library) saglar. Bu kütüphaneler sınıfina Windows API (Aplication Programming Interface) denir. Bir programın sisteme yaptigi çagrılar bu aracı birimler tarafindan sağlanır.

Hepimizin bildigi gibi, Windows birçok programın aynı anda çalişmasına izin veren bir platformdur. Birçok program aynı anada hafizayı, işlemciyi, yada diğer kaynaklarğ kullanabilir ve bu işlemler Windows işletim sistemi tarafindan denetlenir ve yürütülür.

Bir program bir pencere oluşturmak istediğinde veya bir resmi görüntülemeye çaliştığında windows API fonksiyonlarını çagırır. Windows API, C tarzında DLL fonksiyonlarıdır denebilir.

Windows kullanıcısı, windows programıyla program için oluşturulmuş arabirim (GUI = Graphical User Interface) aracılıgıyla anlaşır. Bu kısımlar pencere olarak adlandırılır. Bir pencere birçok alt pencere içeriyor olabilir, bu pencerelerin üzerinde butonlar, yazılar, kutucuklar gibi elemanlar bulunur.

Bir Windows programı başladıgında aşağıdaki işlem sırası izlenir:

  • Kullanıcı bir programı başlattığında, program kendisi için verilen temel değerleri alır. Kullanıcı arabirimi goruntulenir ve program kullanıcıdan komut almaya hazır hale gelir.
  • Kullanıcı arabirimdeki butonlari yada benzeri kontrol mekanizmalari kullanarak programa komutlar verir. Programda ilgili komut için yazılmıs kısmı yürütür. Kullanıcı çıkış için hazırlanmış butona bastığında veya ilgili komutu verdiğinde program sonlanır.
  • Kullanıcı bir programı kapadığında, programın kullandığı kaynakları bırakır ve kendini kapar.

MFC Nedir?

MFC, Windows platformuna yazılan programlar için bir kütüphanedir. MFC'yi, Windows API' yi saran C++ kaplaması gibi düşünebilirsiniz. Dolayısıyla MFC' yi kullanarak windows uygulamaları yazmak, Windows API'leri dogrudan kullanmaktan daha kolay ve zevklidir.

Yazılacak bir Windows uygulamasına MFC kütüphanelerini ilişkilendirmenin statik ve dinamik olmak üzere iki yolu vardir. Dinamik olarak ilişkilendirilmiş bir programın diğer bir kullanıcının bilgisayarında çalışabilmesi için, programın ihtiyaç duyduğu MFC DLL'lerinin de programla birlikte kullanıcın bilgasayarına aktarılmasi gereklidir.

MFC Kullanım Örneği

Bu kısım basit bir MFC örneğini içermektedir. Kullanılacak örnekte AppWizard a bile gerek kalmayacaktir. Visual Studio' yu açarak aşağidaki basamakları izleyiniz:

  • Menüden Select File->New ' i seçiniz.
  • Projects sekmesinden, "Win32 application" kısmını seçiniz, ve programınızı MyFirst olarak adlandırınız.
  • Karşınıza çıkan bir sonraki iletişim kutusunda "An empty project" i seçerek, işlemi tamamlayınız.
  • Boş bir proje sizin için oluşturulmuş olacaktır. Şimdi aşagıdaki basamakları izleyerek projenize bir CPP kaynak kodu ekleyin.
  • Menuden File->New' i seçiniz.
  • Files sekmesinden C++ Source File'i seçiniz ve MyFirst.cpp ismini veriniz.
  • MFC kütüphanesine ait tanımlamalar afxwin.h 'in içindedir. Bu file'i projenize eklemeniz gerekmektedir. Şimdi ilk programımız için gereken sınıfı oluşturmaya başlayabilirsiniz.
Program Objesi

class CMyFirstApp:public CwinApp
  {
  };

Sadece ve sadece bir program objesi olmalıdır. CMyFirstApp isminde global bir obje oluşturun.

CMyFirstApp theAppObj;

Objenin başlangıç değerlerini almasğ fazında, program objesi oluşturulduktan sonra, MFC, program sınıfindan InitInstance() methodunu çagırır. Herhangi bir başlangıç değeri atama fazında, InitInstance() methodunun eş geçilmesini aşağıdaki şekilde sağlayabilirsiniz.

Class CMyFirstApp:public CwinApp
{
    public:
    virtual BOOL InitInstance()
    {
       AfxMessageBox("Ondegerlendirme alindi"); return TRUE;
    }

};

InitInstance() fonksiyonu, eğer programın öndegerlendirmesi başariliysa TRUE, değilse FALSE değerini döner.

AfxMessageBox ise ekrana bir mesaji goruntulemek için kullanılan MFC fonksiyonudur.

Yukardaki sınıf tanımını, önce olusturlumasını ve header eklenmesini tamamladığınızda MyFirst.cpp dosyanız aşağıdaki gibi görünecektir:

#include

Class CMyFirstApp:public CwinApp
{
  public:
  virtual BOOL InitInstance()
    {
       AfxMessageBox("Ondegerlendirme alindi"); return TRUE;
    }

};

CMyFirstApp theAppObj;

Şimdi menüden Build->Compile' i seçerek bu dosyayı derleyin.

Derleme sonrası hic bir hatanın olmadığını gördüğünüzde, Visual Studio' ya programınızla MFC'yi bağdaştırması gerektigini söylemelisiniz. Bunun için menüden Project->Settings' i seçerek General sekmesine geçin, görmüş olacağınız combo kutucuğundan "Using MFC in a static Library" yi seçiniz ve sonra OK 'a basınız.

Şimdi projenizi oluşturma zamanı geldi. Önce Build->Build aracılığıyla programınızı oluşturun ve sonrasında Build->Execute ile çalıştırın. İletişim kutusunu görmüş olmanız gerekiyor.

Şu anda yapmiş olduğumuz en basit MFC-Windows uygulamasıydı. Artik MFC hakkında giriş seviyesinde bilgilisiniz.

* Bu yazidakı ornek kod Jean Michael tarafindan yazılmıstır.

Onur Buyukceran

Makale:
Windows Programcılığı ve MFC'ye Giriş C++ ve C++.NET dili Onur Büyükceran
  • Yazılan Yorumlar
  • Yorum Yaz
TEM
15
2006
Öncelikle makaleyi hazırlayan arkaşa teşşekkür ederim. Yanlız kodları verirken biraz daha daikkatli olunursa iyi olur. Derleme esnasında bazı hatalar aldım. Bu hataları almamak için programda bir satırı şu şekilde değiştirmek gerekiyor. Class CMyFirstApp:public CwinApp Bu satırı class CMyFirstApp:public CWinApp olarak değiştirin
Sayfalar : 1 
Yorum yazabilmek için üye girişi yapmalısınız. Üye girişi için tıklayın.
Üye değilseniz Üyel Ol linkine tıklayarak üyeliğinizi hemen başlatabilirisniz.
 
  • Bu Konuda Son 10
  • Eklenen Son 10
  • Bu Konuda Geçmiş 10
Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
Son Eklenen 10 Makale Yükleniyor
Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor