İleti Kategorileri
Üç ana kategori vardır: için ne tür iletiler işleyicileri yazarsınız?
Windows iletileri
Buna öncelikle WM_COMMAND dışında WM_ ön eki ile başlayan iletiler dahildir. Windows iletileri, pencereler ve görünümler tarafından işlenir. Bu iletiler genellikle iletinin nasıl işleneceğini belirlerken kullanılan parametrelere sahiptir.
Bildirimleri denetleme
Bu, denetimlerden ve diğer alt pencerelerden üst pencerelerine WM_COMMAND bildirim iletilerini içerir. Örneğin, düzenleme denetimi, kullanıcı düzenleme denetiminde metni değiştirmiş olabilecek bir eylemde bulunduğunda üst öğesine EN_CHANGE control-notification kodunu içeren bir WM_COMMAND iletisi gönderir. Pencerenin ileti işleyicisi, denetimdeki metni alma gibi uygun bir şekilde bildirim iletisine yanıt verir.
Çerçeve, diğer WM_ iletileri gibi denetim bildirimi iletilerini yönlendirir. Ancak, bir özel durum, kullanıcı tıkladığında düğmeler tarafından gönderilen BN_CLICKED denetim bildirimi iletisidir. Bu ileti özel olarak bir komut iletisi olarak ele alınır ve diğer komutlar gibi yönlendirilir.
Komut iletileri
Buna kullanıcı arabirimi nesnelerinden WM_COMMAND bildirim iletileri dahildir: menüler, araç çubuğu düğmeleri ve hızlandırıcı tuşları. Çerçeve komutları diğer iletilerden farklı işler ve Komut Hedefleri'nde açıklandığı gibi daha fazla nesne türü tarafından işlenebilir.
Windows İletileri ve Denetim Bildirim İletileri
1. ve 2. kategorilerdeki iletiler (Windows iletileri ve denetim bildirimleri) windows: sınıfından CWnd
türetilen sınıf nesneleri tarafından işlenir. Bu, , CMDIFrameWnd
, CMDIChildWnd
, CView
, CDialog
ve bu temel sınıflardan türetilmiş kendi sınıflarınızı içerirCFrameWnd
. Bu tür nesneler, Windows penceresine yönelik bir HWND
tanıtıcıyı kapsüller.
Komut İletileri
3. kategorideki iletiler (komutlar) daha çeşitli nesneler tarafından işlenebilir: belgeler, belge şablonları ve uygulama nesnesinin kendisi, pencerelere ve görünümlere ek olarak. Bir komut belirli bir nesneyi doğrudan etkilediğinde, bu nesnenin komutu işlemesi mantıklıdır. Örneğin, Dosya menüsündeki Aç komutu uygulamayla mantıksal olarak ilişkilendirilir: uygulama, komutu aldıktan sonra belirtilen belgeyi açar. Bu nedenle, Open komutunun işleyicisi uygulama sınıfının bir üye işlevidir. Komutlar ve nesnelere nasıl yönlendirildikleri hakkında daha fazla bilgi için bkz . Çerçeve bir İşleyiciyi Nasıl Çağırır?