WxSmith etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
WxSmith etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

3 Nisan 2010 Cumartesi

WxFileDialog ve WxStaticBitmap Uygulaması

Merhabalar, sizlere wxFileDialog ve wxStaticBitmap'den bahsetmek istiyorum. WxFileDialog ile adından da anlaşılacağı üzere dosya seçim dialoğu başka bir deyişle browse [gözat] butonu diyebiliriz.

WxStaticBitmap ise; programımızı çalıştırdığımızda default [varsayılan] olarak ekranda görmek istediğimiz resmi görüntülemeye yarayan statik türde bir resim aracı diyebiliriz.

Aşağıdaki örnekte, bir wxButton'a tıklandığında wxFileDialog bileşeni ile seçilen bir resim dosyasını, wxStaticBitmap aracına aktararak görüntülenmesini sağlayıp ve aynı zaman da wxStaticText bileşenine bu seçilen resim dosyanın ismini yazdırıyoruz.

Öncelikle yeni bir dialog frame tabanlı bir proje açıyoruz ve proje alanına sırasıyla wxPanel, wxButton, wxStaticText, Dialogs sekmesinden wxFileDialog, yeni bir wxPanel daha ekliyoruz fakat bu panel'i ilk eklediğimiz panel'in içine eklemeye dikkat ediyoruz ve son olarak da wxStaticBitmap ekliyoruz fakat bu wxStaticBitmap'i de en son eklediğimiz wxPanel'in içine eklemeye dikkat ederek proje alanına bileşen ekleme işini bitiriyoruz.

Proje alanına eklemiş olduğumuz wxButton bileşeninin üzerine çift tıklıyoruz ve açılan "dosya_ismiMain.cpp" dosyasının en altındaki wxButton'un click olayı için olan fonksiyonunun içine aşağıdaki komutları yazıyoruz.

if (FileDialog1 -> ShowModal() ==wxID_OK) // FileDialog ile resim dosyası seçilmişse

{
// Seçilen resim dosyasının ismini StaticText1' e aktar

StaticText1->SetLabel(FileDialog1->GetFilename());

// Seçilen resim dosyasını 208x120 boyutunda boyutlandırarak StaticBitmap1'e aktar.

StaticBitmap1-> SetBitmap(wxBitmap(wxImage(FileDialog1->GetPath()).Rescale(208,120)));

}

else // FileDialog ile resim dosyası seçilmezse

{

// StaticText1 değerini "Dosya secmeden Kapattim" olarak değiştir. StaticText1->SetLabel(_("Dosya Secmeden Kapattim"));

}

Bu uygulama sayesinde bir nevi Gözat butonu yardımıyla seçtiğimiz herhangi bir resim dosyasının hem adının hem de bu resim dosyasının belirlediğimiz büyüklükte görünmesini sağlamış olduk. ;)

1 Nisan 2010 Perşembe

WxButton

Merhabalar, sizlere WxButton ve parametreleri hakkında bilgi vermek istiyorum.

WxButton: Text bir yazıyı içeren bir kontroldür ve GUI' nin en sık kulllanılan elemanlarından birisidir. Bir WxButton'u bir dialog kutusuna, panel'e ya da nerdeyse herhangi bir pencereye bile ekleyebilirsiniz.

WxButton'u kullanabilmek için öncelikle onun kütüphanesini içinde bulunduğunuz projeye eklemelisiniz. Örneğin ornek adında bir projeniz var ve WxButton'u bu projenizde kullanmak istiyorsunuz o zaman "ornekmain.cpp" isimli dosyanıza "#include <wx/button.h>" kütüphanesini yazmalısınız.


Burada dikkat etmeniz gereken husus Code::Blocks'un kendi oluşturduğu kütüphanelerin yanına yeni bir kütüphane eklememek olacaktır.


Yukarıdaki resimde de gördüğünüz gibi işaretlediğim alan içerisine ekleyeceğiniz kütüphane her ne olursa olsun programı çalıştırdığınız anda Code::Blocks tarafından silinir, bu yüzden kütüphaneyi bu kısmın altına ya da üstüne ekliyoruz. ;)

Kullanım şekline ve parametrelerine bakacak olursak;

Button1 = new wxButton(Panel1, ID_BUTTON1, _("Label"), wxPoint(), wxDefaultSize, long style=0, wxDefaultValidator, _T("ID_BUTTON1"));

Button1: Butonun değişken adı.

Panel1: Bu kısma oluşturulan butonun yerleşeceği alan bilgisini giriyoruz.

ID_BUTTON1: Bu kısım butonu diğer form elemanlarından ayıran ID özelliğidir, BUTTON1 yazan kısma ayırt edici istediğiniz ID' yi yazabilir ya da WxNewId() komutunu yazarak buraya otomatik olarak yeni bir ID verilmesini sağlayabilirsiniz.

_("Label"): Burada tırnak içerisine yazacağınız değer butonun üzerinde yazacak olan isimdir.

wxPoint(): pos ve wxDefaultPosition parametresi ile aynı anlamda olup parantez içerisine yazacağınız değer butonunun x: yatayda ve y: dikeyde alacağı konumu belirler.

wxDefaultSize: size ve wxSize parametreleriyle aynı anlamda olup butonun default [varsayılan] büyüklükte olmasını sağlar.

long style: Bu long style kısmına yazacağınız değer butonun uzunluk biçimiyle ilgilidir ve değeri 0 dır.

wxDefaultValidator: wxValidator, program bilgisi ve bir class [sınıf] kontrolü yapan bir parametredir.

Validator ile bir c++ değişkenine ait bilgileri transfer edebilir, bilgi kontrolü yapabilir ve buna ilişkin uygun bir hata mesajını ekranda gösterebilirsiniz. Anlayacağınız birçok işlevi var. Bizse null [wxDefaultValidator] başka bir deyişle işimize yaramadığı için [en azından şimdilik :D ] wxDefaultValidator'u kullanıyoruz, çünkü bunun üstte bahsettiğim görevleri yapan bir işlevi yok. ;)

_T("ID_BUTTON1"): Bu kısımdaysa tırnak içerisindeki BUTTON1 yazan kısma ID_BUTTON1 parametresinde belirlemiş olduğumuz ID'yi yeniden yazıyoruz.


WxButton hakkında bahsedeceklerim bu kadar işinize yaraması dileklerimle...


İyi çalışmalar...