Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Obsługa komunikatów w MFC

michalko12 27 Lis 2010 02:03 696 2
  • #1 27 Lis 2010 02:03
    michalko12
    Specjalista - Mikrokontrolery

    Witam

    Czy mógłby ktoś w paru słowach wytłumaczyć o co chodzi z makrami:

    Code:
    DECLARE_MESSAGE_MAP()
    
    BEGIN_MESSAGE_MAP()
    END_MESSAGE_MAP()


    Nie chodzi mi o to do czego one są, tylko o to jak one działają, jak mają się do WindowProc();

    0 2
  • #3 07 Gru 2010 10:44
    directx11
    Poziom 17  

    michalko12 napisał:
    Witam
    Nie chodzi mi o to do czego one są, tylko o to jak one działają, jak mają się do WindowProc();


    Jak one działają to nie ma wielkiego sensu się wgłębiać. Po prostu zastępują Ci funkcję obsługi komunikatów, tak, żebyś nie musiał pisać wielkiego case-a tylko pisał konkretną obsługę do konkretnego komunikatu. Nie jedna, wielka funkcja do wszystkich tylko dla każdego z osobna. Gdybym miał napisać takie makra to pewnie za pomocą mapy, która kojarzy komunikaty ze wskaźnikami na poszczególne funkcje. A WndProc jak dostanie komunikat to kojarzy go przez mapę ze wskaźnikiem na funkcje i wywołuje już konkretną metodę. Zapewne podobnie jest to zrobione w MFC

    0