Perşembe, Haziran 11, 2009

wxWidgets Olaylar(Events)-4

wxWidgets Olay Türleri (wxEventType)

Olay tablolarındaki makroların her birine karşılık gelen bir olay tipi var. Bunlar kendi aralarında bölümlere ayrılır. Ben bu yazıda wxCommandEvent, wxKeyEvent ve wxMouseEvent sınıflarına değineceğim.

  1. wxCommandEvent: Bu olay sınıfı basit kontrollerin çeşitli olayları hakkında bilgiler içermektedir. Bu olay türünün fonksiyonları kullandığın nesneye göre değişmekte.

Fonksiyonları

· wxCommandEvent::GetClientData :Listbox ve Choice nesnesi için seçim olayında istemci bilgisi pointerını döndürür.

· wxCommandEvent::GetClientObject: Listbox ve Choice nesnesi için seçim olayında istemci nesnesinin pointerını döndürür.

· wxCommandEvent::GetSelection: Listbox ve Choice nesnesiçin seçim olayında seçili olan itemi döndürür.

· wxCommandEvent::IsChecked: Bu fonksiyon CheckBox ve Menu nesneleri ile kullanılır.Seçili ise ture seçili değilse false değerini döndürür.

· wxCommandEvent::SetClientData :Bu olay için istemci verisini ayarlar.

· wxCommandEvent::SetClientObject : Bu olay için istemci nesnesini ayarlar.

Olay Türleri

  • wxEVT_COMMAND_BUTTON_CLICKED
  • wxEVT_COMMAND_CHECKBOX_CLICKED
  • wxEVT_COMMAND_CHOICE_SELECTED
  • wxEVT_COMMAND_LISTBOX_SELECTED
  • wxEVT_COMMAND_LISTBOX_DOUBLECLICKED
  • wxEVT_COMMAND_MENU_SELECTED
  • wxEVT_COMMAND_RADIOBOX_SELECTED
  • wxEVT_COMMAND_RADIOBUTTON_SELECTED
  • wxEVT_COMMAND_COMBOBOX_SELECTED
  • wxEVT_COMMAND_ENTER
  • wxEVT_COMMAND_KILL_FOCUS
  • wxEVT_COMMAND_SET_FOCUS
  • wxEVT_COMMAND_RIGHT_CLICK
  • wxEVT_COMMAND_LEFT_DCLICK
  • wxEVT_COMMAND_TOOL_ENTER
  • wxEVT_COMMAND_TOOL_RCLICKED
  • wxEVT_COMMAND_TEXT_ENTER
  • wxEVT_COMMAND_TEXT_UPDATED
  • wxEVT_COMMAND_SLIDER_UPDATED
  • wxEVT_COMMAND_SCROLLBAR_UPDATED
  • wxEVT_COMMAND_TOGGLEBUTTON_CLICKED
  • wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED
  • wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGİNG
Örnek:
.h'dosyasında fonksiyonu tanımlayalım
void silButon(wxCommandEvent& event);

.cpp'dosyasında fonksiyonun yazalım
void Nesne BenimSinifim::silButon(wxCommandEvent& event)
{
butonY -=25;
delete event.GetEventObject();
}

Şimdide Dinamik Olay işleyici ( Connect() ) ile olayımızı ekleyelim
Connect(ID_Buton,wxEVT_COMMAND_BUTTON_CLICKED,
(wxObjectEventFunction)&BenimSinifim::silButon);

Bu örnekte wxWidgets Olaylar(Events)-3 yazımın örnek bölümünde verdiğim kodlarla oluşturlan nesnelerin sildirilmesini gerçekleştirdim. Butonlar üzerine tıklanarak TextCtrl'lerde üzerinde her hangi bir değişiklik yapıldığı anda silenecekler.

Hiç yorum yok: