[UE4]C++中集成Windows系统消息

原文:https://answers.unrealengine.com/questions/162868/how-can-i-add-window-message.html

Implement the IWindowsMessageHandler interface and register it with FWindowsApplication::AddMessageHandler(). Don't forget to remove it when you don't need it anymore. Also note that this is only for Windows, so you should only use it in code that is wrapped in #if PLATFORM_WINDOWS. 

 #if PLATFORM_WINDOWS
     class FMyWindowsMessageHandler
         : public IWindowsMessageHandler
     {
         public:
             virtual bool ProcessMessage(HWND hwnd, uint32 msg, WPARAM wParam, LPARAM lParam, int32& OutResult) override
             {
                 // Handle your messages here
             }
     }
 #endif
 
 
 #if PLATFORM_WINDOWS
     TSharedPtr<GenericApplication> GenericApplication = FSlateApplication::Get().GetPlatformApplication();
     FWindowsApplication* WindowsApplication = (FWindowsApplication*)GenericApplication.Get();
     WindowsApplication->AddMessageHandler(MyMessageHandler);
     //...
     WindowsApplication->RemoveMessageHandler(MyMessageHandler);
 #endif

猜你喜欢

转载自aigo.iteye.com/blog/2271750
今日推荐