winamp/Src/Plugins/Library/ml_downloads/MessageProcessor.h

35 lines
766 B
C++

#ifndef NULLSOFT_ML_WIRE_MESSAGEPROCESSOR_H
#define NULLSOFT_ML_WIRE_MESSAGEPROCESSOR_H
#include <api/application/api_messageprocessor.h>
#include "main.h"
#ifndef WM_FORWARDMSG
#define WM_FORWARDMSG 0x037F
#endif
class MessageProcessor : public api_messageprocessor
{
public:
bool ProcessMessage(MSG *msg)
{
if (msg->message < WM_KEYFIRST || msg->message > WM_KEYLAST)
return false;
HWND hWndCtl = ::GetFocus();
if (IsChild(browserHWND, hWndCtl))
{
// find a direct child of the dialog from the window that has focus
while(::GetParent(hWndCtl) != browserHWND)
hWndCtl = ::GetParent(hWndCtl);
if (activeBrowser->translateKey(*msg))
return true;
}
return false;
}
protected:
RECVS_DISPATCH;
};
#endif