Czy istnieje sposób definiowania i wysyłania niestandardowych typów wiadomości w systemie Win32, aby zostać przechwyconym przez główną procedurę obsługi wiadomości? Na przykład moja główna funkcja obsługi wiadomości przechwytuje komunikaty, takie jak WM_PAINT, WM_RESIZE, WM_LBUTTONDOWN itd. Czy mogę utworzyć własne WM_DOSOMETHING? Jeśli tak, jak wyślę tę wiadomość?Tworzenie niestandardowych typów wiadomości w win32?
Ah, właśnie odkryłem, że zostało to zadane przed here, jednak nie odpowiada, w jaki sposób wysłałbym tę wiadomość.
dzięki! Czy jest wymagana funkcja RegisterWindowMessage(), jeśli wiadomość jest wysyłana i przechwytywana tylko w ramach jednej aplikacji? – BeeBand
Jeśli używasz #define, pamiętaj, aby użyć nawiasów wokół (WM_USER + 0x0001), więc arytmetyczna operacja na twoim nowym numerze wiadomości (operacje bitowe, pakowanie do słowa o wysokim priorytecie itd.) Działa poprawnie. – Travis
I nie, nie potrzebujesz RegisterWindowMessage, jeśli jest zaangażowana tylko jedna aplikacja; tylko wtedy, gdy potrzebujesz dwóch aplikacji, aby uzgodnić jeden numer wiadomości. – Travis