void file_list_wnd_proc (pstruct -w reply, p_program_state -&w state, p_msg msg)
                     if (msg->message == WM_BEGIN_DRAG)
{
  ...
}
/
{
  ...
}

void file_list_wnd_proc (pstruct -w reply, p_program_state -&w state, p_msg msg)
                     if (msg->message == WM_DRAG_RENDER, WM_DISCARD_OBJECT, WM_PRINT_OBJECT)
{
  select (msg->message)
  {
    case WM_DRAG_RENDER:
      ...
    return;

    case WM_DISCARD_OBJECT:
      ...
    return;

    case WM_PRINT_OBJECT:
      ...
    return;
  }
  else
  {
    ;
  }
}

void file_list_wnd_proc (pstruct -w reply, p_program_state -&w state, p_msg msg)
                     if (msg->message == WM_DRAG_COMPLETE)
{
  ...
}

