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. ;)

Hiç yorum yok:

Yorum Gönder