Posted under C# (csharp)
Merhaba MFC tutkunları, amacımız basit bir diyalog tabanlı uygulama tasarlamak.Projemizde “Button”, “Edit Box”, “Combo Box”, “List Box” ve “Static Text” kontrollerini kullanacağız.
Giriş
Bu kontrolleri projemize ekleyeceğiz ve bu kontrolleri değişkenlere bağlamak için ClassWizard’ı kullanacağız. Windows’un iletileri bu kontroller sayesinde programımıza iletilecek.
İyi bir C++ kullanıcısı olduğunuzu ve Visual C++’ a yeni başladığınızı varsayarak anlatmaya başlıyorum. Anlattıklarımı benimle birlikte uygularsanız yararınıza olur. Şimdi Visual C++ 6.0′ ı açın ve yeni bir proje yaratın.
Yeni bir proje yaratmak
Yeni bir proje yaratmak için işe File menüsünden New ‘i tıklamakla başlıyoruz.
Aşağıdaki diyalog kutusunu görmelisiniz…
Proje ismine Dialog1 yazın ve MFC Appwizard(exe)‘ i seçin. Ardından OK butonuna bastığınızda MFC Application Wizard başlayacaktır.
- Sihirbazın 1. adımında Dialog Based seçeneğini işaretleyin ve Next’ i tıklayın.
- 2. ve 3. adımları olduğu gibi bırakın.
- 4. adımda ise Finish butonuna tıklayarak sihirbazı sonlandırın.
Sihirbaz basit bir Dialog tabanlı uygulama yaratacaktır. Sırada Dialog penceresini tasarlamaya geldi.
Dialog Pencerisini Tasarlamak

Diyalog kutusunun sağ alt köşesine tıklayın. Diyalog kutusunun çevresinde bir dikdörtgen oluşacaktır. Köşelerde oluşan mavi noktalarla diyalog kutusunu aşağıdaki resimdeki gibi boyutlandırabilirsiniz. Sağ alt köşeden 230×126 boyutuna kadar sürükleyin ve bırakın.
Cancel butonunun üzerine tıklayın ve Delete‘ e basarak Diyalog kutusundan silin. Daha sonra OK butonun üzerine sağ tıklayarak açılan menüde Properties’ i seçin.
Daha sonra Push Button Properties diyalog kutusu görünecektir. Buradaki General sekmesinde bulunan Caption bölümünden OK‘ ı silip yerine aşağıda gösterildiği gibi İptal yazın.
Sıra kontolleri, diyalog kutusuna eklemeye geldi.
Control toolbar’dan static text kontrolünü seçin ve diyalog kutusunun sol üst köşesine tıklyarak bırakın. Burada Static yazılı bir static text kontrolü görünmeli.
Static Text kontrolü pencerelerimizde bilgi vermek için kullandığımız kontrollerdir. (Visual Basic veya Delphi ile uğraşanlar Label olarak hatırlayacaklardır.) Şimdi iki tane daha static text’ e ihtiyacımız var, bunları da aynı şekilde yan yana olmak kaydıyla dialog penceresine yerleştirin.,
Control toolbar’ dan şimdi de iki tane edit kontrolü koymamız gerekiyor. Bunları da aynı static text gibi diyalog kutusuna koyun.Sonra Combo Box kontrolünü seçerek bunu da diğerlerinin yanına koyun. Aynı şekilde bir List Box ve bir de Button kontrolü koyarak pencereyi aşağıdaki gibi düzenleyin.
Yeni butonun caption kısmını Ekle olarak ID kısmını ise IDC_EKLE olarak değiştirin. Daha sonra soldaki static üzerinde sağ tıklayıp properties ‘lerinden Caption kısmını Unvan olarak değiştirin.
Bütün static text kontrollerinin Caption ‘larını aşağıdaki gibi değiştirin. Edit kontrolünün ID kısmını ise IDC_AD ve ikincisini ise IDC_SOYAD olarak değiştirin.
List Box kontrolünün ID ’sini IDC_LISTE ve Combo Box kontrolünün ID ’sini ise IDC_UNVAN olarak değiştirin.
Combo Box Properties penceresinden Data sekmesine tıklayın sonra aşağıdaki gibi verileri girin. Her veri girişinden sonra bir sonraki satıra veriyi yazmak için Ctrl+Enter tuşlarına basın ve bir aşağı geçin.
Styles sekmesinden Combo Box’ın tipini Drop List’e dönüştürün ve farenizi Combo Box kontrolünün sağındaki oklu butona konumlandırın ve tıklayın. Aşağıdaki gibi bir dikdörtgen görünecektir Combo Box’ın çevresinde. Uzunluğunu içi dolu mavi noktadan çekerek uzatınız.

Üye Değişkenleri Kontrollere Bağlamak
ClassWizard’ı çalıştırmak için Ctrl+W veya View menüsünde ClassWizard ‘ı kullanın. MFC ClassWizard penceresi aşağıdaki gibi görünecektir. Member Variables sekmesini seçiniz. IDC_AD ‘ ı seçtikten sonra Add Variable butonuna tıklayınız. Aşağıdaki gibi bir pencere açılması gerekir.
Burada Member variable name kısmına m_ad yazın.
Bu işlemi IDC_SOYAD için m_soyad olarak ve IDC_UNVAN için m_unvan olarak gerçekleştirin. IDC_LISTE için Category kısmında Controlü seçin ve m_liste olarak tekrarlayın. 
Project Workspace panelinden ClassView sekmesini seçin. Aşağıdaki gibi görüntüyü sağlayın ve CDialog1Dlg ‘nin üzerine sağ tıklayın ve açılan pop-up menüde Add Member Variable komutunu tıklayın. Aşağıdaki gibi bir diyalog kutusu gelmeli. Variable Name kısmına CString (Büyük-küçük harf dikkat) ve Variable Name kısmına da m_tamliste yazın.

Kontrollere İleti eklemek
ClassWizard’ı açmak için Ctrl+W ‘e basın veya Ekle butonunun üzerine sağ tıklayarak ClassWizard’a basın. Message Maps sekmesini tıklayın, ardından Class name kısmında CDialog1Dlg’ i seçin. Object IDs liste kutusundan IDC_EKLE ‘i tıklayın.Sonra Messages liste kutusundan BN_CLICKED seçeğini seçin.
Add Function butonuna tıklayın ve aşağıdaki gibi gelen pencerede OK ‘ı tıklayın. Edit Code ‘u tıkladığınızda kod penceresi ekrana gelir. ClassWizard OnEkle() adında bir fonksiyon yaratacaktır.

Daha sonra aşağıdaki kodu ekleyin. 
Programı Çalıştırma
Build menüsünden programı derleyin ve çalıştırın. Unvan kısmından istediğiniz elemanı seçin, ad ve soyadı yazdıktan sonra Ekle butonuna basın. Liste kutusunda sıralanan elemanları görün.