SDL에서 윈도우 메시지 가능하게 설정
SDL_SysWMinfo i;
SDL_VERSION( &i.version );
if ( SDL_GetWMInfo ( &i) )
{
m_hwnd = i.window;
SDL_EventState(SDL_SYSWMEVENT, SDL_ENABLE);
DragAcceptFiles(m_hwnd, TRUE);
}
SDL_VERSION( &i.version );
if ( SDL_GetWMInfo ( &i) )
{
m_hwnd = i.window;
SDL_EventState(SDL_SYSWMEVENT, SDL_ENABLE);
DragAcceptFiles(m_hwnd, TRUE);
}
윈도우 메시지 필터등록
SDL_SetEventFilter(FilterEvents);
WM_DROPFILES 메시지 처리 (Win32 API 메시지처리와 동일)
int SDLCALL FilterEvents(const SDL_Event *event)
{
switch (event->type)
{
case SDL_SYSWMEVENT :
{
SDL_SysWMEvent sysevent;
sysevent = event->syswm;
switch( sysevent.msg->msg )
{
case WM_DROPFILES :
{
wchar_t filename[256];
DragQueryFileW((HDROP) sysevent.msg->wParam, 0, filename, _countof(filename));
}
break;
}
}
return 0;
}
{
switch (event->type)
{
case SDL_SYSWMEVENT :
{
SDL_SysWMEvent sysevent;
sysevent = event->syswm;
switch( sysevent.msg->msg )
{
case WM_DROPFILES :
{
wchar_t filename[256];
DragQueryFileW((HDROP) sysevent.msg->wParam, 0, filename, _countof(filename));
}
break;
}
}
return 0;
}